您的位置:首页 > 编程语言 > C语言/C++

【学习笔记】【C语言】字符串数组

2015-06-23 23:51 423 查看
1.使用场合
* 一维字符数组中存放一个字符串,比如一个名字char name[20] = "mj"
* 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,char names[15][20]可以存放15个学生的姓名(假设姓名不超过20字符)
* 如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]

2.初始化
char names[2][10] = { {'J','a','y','\0'}, {'J','i','m','\0'} };
char names2[2][10] = { {"Jay"}, {"Jim"} };
char names3[2][10] = { "Jay", "Jim" };

3.代码

#include <stdio.h>

int main()
{
//char name[] = {'i', 't', 'c', 'H', 's', 't', '\0'};
char name[] = "itcast";

name[3] = 'H';

/*
int size = sizeof(name);

printf("%d\n", size);
*/

printf("我在%s上课\n", name);

return 0;
}

// 字符串的一个初始化
void test2()
{
// \0的ASCII码值是0
// 都是字符串
char name[8] = "it";
char name2[8] = {'i', 't', '\0'};
char name3[8] = {'i', 't', 0};
char name4[8] = {'i', 't'};

// 不算是一个字符串(只能说是一个字符数组)
char name5[] = {'i', 't'};
}

/*
void test()
{
// 'a' 'b' 'A'
// "jack" == 'j' + 'a' + 'c' + 'k' + '\0'

char name[10] = "jack888\n";

// 把数组传入,仅仅是个警告
printf(name);

printf(name);

printf(name);

printf("57843578435");
}*/


注意

#include <stdio.h>

/*
\0的作用
1.字符串结束的标记
2.printf("%s", name2);
会从name2这个地址开始输出字符,直到遇到\0为止
*/

int main()
{
char name[] = "itc\0ast";

char name2[] = {'o', 'k'};

//printf("%s\n", name2);

printf("%s\n", &name2[1]);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: