黑马程序员——C语言基础——sizeof、strlen、printf小结
2014-12-05 22:47
211 查看
———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)
———
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)
相关文章推荐
- 黑马程序员—OC语言基础—核心语法小结
- ——黑马程序员——C语言基础--printf函数和scanf函数
- 黑马程序员—OC语言基础—Foundation框架小结
- 黑马程序员——java语言基础——静态static知识小结
- 黑马程序员——C语言基础知识整理——printf函数与scanf函数
- 黑马程序员--C语言基础之--sizeof()运算符的使用以及注意
- 黑马程序员-OC语言基础:Foundation框架小结
- 黑马程序员——C语言基础-进制内存分析及printf、scanf
- 黑马程序员--C语言基础之--printf函数
- 黑马程序员Java培训、Android培训_语言基础
- 黑马程序员-c#基础知识小结
- 黑马程序员——java语言基础知识回顾(三)
- 黑马程序员——java语言基础——总结一下学习过的类
- 黑马程序员-Java语言基础 第3天
- 黑马程序员——java语言基础——面向对象
- 黑马程序员--C#基础知识小结(三)
- 黑马程序员——java语言基础知识回顾(二)
- 黑马程序员——java语言基础知识回顾(一)
- 黑马程序员----SQL语言基础