字符数组的基本概念
字符数组是元素的数据类型为字符类型的数组
char c[10],ch[3][4];
字符数组的初始化
'a','b','c'; //无/0
例如:
char ch[5]={'H','e','l','l','o',};//无结束符
char ch[5]={'B','o','y'};//ch[3]='/n',ch[4]='/n'
"abc" //默认/0结尾
例如:
char ch[6]={"Hello"};//Ch[5]='/n'
char ch[6]="Hello";//Ch[5]='/n'
char ch[ ]="Hello" ;//Ch[5]='/n'
认识字符串常量
C语言中无字符串变量,用字符数组处理字符串,字符串结束标识:’\0‘
int main(int argc,char *argv[])
{
char arr1[] = {'a','b','c'};
char arr[6] ={'d','e','f'};
printf("arr1:%s %p\n",arr1,&arr1[2]);
// arr1 :abcdef 0xbfce2505
printf("arr2:%s %p\n",arr2,arr2);
//arr2 :def 0xbece2506
/*地址为虚拟的而连续地址,char arr1[]由于无结束符,直到char arr[6]的结束符,才完成打印*/
#if 0
int i,n;
n=sizeof(arr1)/sizeof(char);
for(i=0;i<n;i++)
putchar(arr[i]);
purchar('\n');
n=sizeof(arr2)/sizeof(char);
for(i=0;i<n;i++)
putchar(arr2[i]);
putchar('\n');
#endif
return 0;
}
int main(int argc,char *argv[])
{
char fruit[][20]={"banana","apple","stramerry","watermelen"};
int i,j,n,m;
n=sizeof(fruit)/sizeof(fruit[0]);
m=sizeof(fruit[0])/sizeof(char);
for(i=0;i<n;i++)
{
printf("%s\n",fruit[i]);
}
// 由于是字符串,可以使用%s
#if 0
for (i = 0;i<n;i++)
{
for(j=0;j<m;j++)
putchar(fruit[i][j]);
putchar('\n');
}
return 0;
#endif
}