strlen 的用法 :计算有多少个字符,看到就几个就是几个,’\0’不算进去。
sizeof的用法:计算变量所占的空间大小,计算字符串时候,‘0’要算进去。
这里的输出答案是; sizeof(a) = 4;这还跟编译器中整形占多少个字符有关。
来看看字符数组和字符串的输入辨别两者的区别;
char buf1[] = "abcdef"中,字符串自动在结束的时候添加一个’\0’字符,而buf2[]的就需要手动添加,不然就是没有的。
如果buf2[] 数组里面没有加入’\0’字符,则在计算slrlen(buf2)的时候不是4,因为没有’\0’,程序不知道什么时候结束,所以输出的是一个不确定的数字。
这里的第一个sizeof(buf1) 的结果是4,这是因为buf1是指针变量,都是只占据4个字符。
在strlen()和sizeof() ,的()里面,如果计算的是字符数组,则()里面填的是指针。如:
结果是6,在ters函数中,只要获取buf1的指针,就可以计算出buf1[]数组有多少个字符了。