首页 > 技术文章 > 逗号字符的使用、字符数组与字符串数组、sizeof与strlen

luckytimor 2017-08-09 17:02 原文

(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

推荐阅读