字符数组与字符串区别:
C语言中没有字符串这种数据类型,可以通过char的数组来替代;
字符串一定是一个char的数组,但char的数组未必是字符串;
数字0(和字符‘\O’等价)结尾的char 数组就是一个字符串,但如果char数组没有以数字0结尾,那么就不是一个字符串,只是普通字符数组,所以字符串是一种特殊的char的数组。
字符串定义方式:char * arr = “hello”; 输出为%s
补充:
&是取地址符号,常与%p和scanf搭配
scanf接收空格与换行都代表结束了
定义字符数组只能大不能小
字符串拼接:
// 字符串拼接
char ch1[] = “hello”;
char ch2[] = “world”;
char ch3[20];
int i = 0;<br /> int j = 0;<br /> while (ch1[i] != '\0') {<br /> ch3[i] = ch1[i];<br /> i++;<br /> }<br /> while (ch2[j] != '\0') {<br /> ch3[i + j] = ch2[j];<br /> j++;<br /> }<br /> ch3[i + j] = '\0';<br /> printf("%s", ch3);
定义方法:
//char * arr = “hello”;
//char arr[] = “hello”; 相当于 arr[] = {‘h’,’e’,’l’,’l’,’o’,’\0’};
//char arr[] = { ‘h’,’e’,’l’,’l’,’o’,’\0’ };
//char arr[6] = {‘h’,’e’,’l’,’l’,’o’};