23.数据类型和sizeof运算符
来源:互联网 发布:动漫桌面主题下载软件 编辑:程序博客网 时间:2024/05/23 12:34
因格式问题,截图上传。
23.type_convert/* * 公司:XXXX * 作者:Rston * 博客:http://blog.csdn.net/rston * GitHub:https://github.com/rston * 项目:数据类型和sizeof运算符 * 功能:演示变量数据类型的存取方式必须一致。 */#include <stdio.h>int main(int argc, char **argv){ int a = 5; printf("a = %d.\n", a); // a = 5. printf("a = %f.\n", (float)a); // a = -0.000000.乱码,按照int类型存,按照float类型取。 int b = 5; int *p1 = &b; float *p2 = (float *)&b; printf("*p1 = %d.\n", *p1); // *p1 = 5 printf("*p2 = %f.\n", *p2); // *p2 = 0.000000. 变量*p1和*P2分别按照int类型和float类型取 int c = 193; int *p3 = &c; char *p4 = (char *)&c; printf("*p3 = %d.\n", *p3); // *p3 = 193. printf("*p4 = %c.\n", *p4); // *p4 = ?. 以int型存放的二进制数超出了char型范围,以char型解析时出错。 int d = 127; int *p5 = &d; char *p6 = (char *)&d; printf("*p5 = %d.\n", *p5); // *p5 = 127. printf("*P6 = %d.\n", *p6); // *P6 = 127. printf("*(p6+1) = %d.\n", *(p6+1)); // *(p6+1) = 0. printf("*(p6+2) = %d.\n", *(p6+2)); // *(p6+2) = 0. printf("*(p6+3) = %d.\n", *(p6+3)); // *(p6+3) = 0. return 0 ;}
23.sizeof/* * 公司:XXXX * 作者:Rston * 博客:http://blog.csdn.net/rston * GitHub:https://github.com/rston * 项目:数据类型和sizeof运算符 * 功能:演示sizeof运算符和数组、指针组合在一起的各种情况。 */#include <stdio.h>#include <string.h>#define dpChar char *typedef char * tpChar;void func(int str[], int n){ printf("sizeof(str) = %d.\n", sizeof(str)); // 4 printf("n = %d.\n", n); // 40}int main(int argc, char **argv){ char str1[] = "hello"; printf("sizeof(str1) = %d.\n", sizeof(str1)); // 6 printf("sizeof(str1[0]) = %d.\n", sizeof(str1[0])); // 1 printf("strlen(str1) = %d.\n", strlen(str1)); // 5 char *str2 = "hello"; printf("sizeof(str2) = %d.\n", sizeof(str2)); // 4 printf("sizeof(*str2) = %d.\n", sizeof(*str2)); // 1 printf("strlen(str2) = %d.\n", strlen(str2)); // 5 int a = 10; printf("sizeof(a) = %d. sizeof(int) = %d.\n", sizeof(a), sizeof(int)); // sizeof(a) = 4. sizeof(int) = 4. double b[10] = {0.0}; printf("sizeof(b) = %d.\n", sizeof(b)); // sizeof(b) = 80. int str3[10] = {0}; func(str3, sizeof(str3)); tpChar p1, p2; // 等价于char *p1, *p2;即char *p1; char *p2; dpChar p3, p4; // 等价于char *p3, p4;即char *p3; char p3; printf("sizeof(p1) = %d.\n", sizeof(p1)); // 4 printf("sizeof(p2) = %d.\n", sizeof(p2)); // 4 printf("sizeof(p3) = %d.\n", sizeof(p3)); // 4 printf("sizeof(p4) = %d.\n", sizeof(p4)); // 1 int c[3] = {1, 2, 3}; int i = 0; for (i=0; i<(sizeof(c)/sizeof(c[0])); i++) // 使用sizeof(c)/sizeof(c[0])计算数组中元素个数 { printf("c[%d] = %d.\n", i, c[i]); } return 0;}
0 0
- 23.数据类型和sizeof运算符
- 位运算和sizeof运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 数据类型和运算符
- 看雪论坛 『Android安全』版优秀和精华帖分类索引
- Scalaz(34)- Free :算法-Interpretation
- Openlayers2中统计图的实现
- 动态绑定和静态绑定,以及 缺省参数的静态绑定解释
- C++中overload,override,overwrite的区别
- 23.数据类型和sizeof运算符
- [BZOJ 3439]Kpm的MC密码
- 网络流建模总结
- 补间动画 http://www.sunnyos.com/
- c++四种分配内存的方法整理
- 快速排序【模板】
- C++ 对象模型(二)
- Android 微信支付总结
- 配置MySQL的Path变量