逗号字符的使用、字符数组与字符串数组、sizeof与strlen
(1)连接两个表达式为一个表达式
for(ux=0,uxt=1;uxt<444;ux++,uxt++) 允许通过编译;他可以给FOR循环更多的初始化值;
(2)一般定义的话要区别只有 字符数组 没有对最后一个数据的要求,而字符串最后一个数据是'\0’;
char str1[11] = {'h','a','l','l','o',' ','w','o','r','d','!'}
char str2[] = "hallo word!"; 等于 char str1[12] = {'h','a','l','l','o',' ','w','o','r','d','!',‘\0’}
一直以来使用的字符串都是直接使用char str[] = "hallo word!";如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' )。其实char str[] = "hello word!";就是最后一个数组数据是‘\0’的字符串数组
(3)sizeof 操作符,计算占用空间大小,字节为单位
strlen 计算字符串的长度;
char str[20]="0123456789"; char ss[] = "0123456789";//我的理解是有初始化长度的不足的用0补全到长度减2个,长度减1个是‘\0’
int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。
int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响
sizeof(ss)=11