黑马程序员——C语言基础——sizeof、strlen、printf小结

来源:互联网 发布:淘宝消保怎么交 编辑:程序博客网 时间:2024/05/16 07:49

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———

1.sizeof

sizeof(...)是一个运算符,功能是获取数据所占的空间大小(字节数)。

举例(64位编译器下):

sizeof(char) == 1;

sizeof(int) == 4;

sizeof(double) == 8;

sizeof(char *) == 8;

sizeof(int *) == 8;

sizeof(double *) == 8; // 任何指针类型都占8个字节

sizeof(“abcd哈哈”) == 11;// 一个汉字占三个字节,字符串以‘\0’结尾,占一个字节

 

2.strlen

strlen()是一个函数,功能是获取字符串的长度,参数为(char *),该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL

举例(64位编译器下)

strlen(“abcd”) == 4;

strlen(“abcd哈哈”) == 10

strlen(“abcd\0haha”) == 4

 

3.printf

printf的返回值为打印的字符数

例如:

int a = printf(“abcd”) ;

printf(“a == %d”)

则a == 4;

int b = printf(“abcd哈哈”);

则b == 10;

int c = printf(“abcd\0haha”);

则c == 4;

 

4.实例

int a = sizeof(“ab哈哈\n”);

int b = strlen(“ab哈哈\n”);

int c = printf(“ab哈哈\n”);

printf(“%d--%d--%d”,a,b,c);

 

打印结果为:

ab哈哈

10--9--9

解释:

ab哈哈为printf函数输出

a的值为2(两个字符)+6(两个汉字)+1(\n)+1(\0)=10;

b的值为9因为不包括‘\0’;

c的值为9(打印字符数包括未显示的\n)


0 0