黑马程序员技术交流社区
标题:
sizeof运算符
[打印本页]
作者:
董立正
时间:
2015-12-3 10:18
标题:
sizeof运算符
/*
sizeof运算符是一个单目运算符
作用:计算常量、变量、数据类型在内存中占用的字节数
1)用sizeof计算常量在内存中占用的字节数
sizeof(1) //整型int--> 4
sizeof(2.3f) //单精度型float-->4
sizeof(2.3) //双精度型double-->8
sizeof('a') //字符型char--> 常量 4 变量 1
*/
void test(){
short result2 = 1;
int result = 1;
long result3 = 1;
float f1 = 2.3f;
double d1 = 2.3;
char ch = 'a';
result = sizeof(1); // short常量 4
printf("result = %d\n",result);
result = sizeof(1); // int常量 4
printf("result = %d\n",result);
result = sizeof(1); // long常量 4
printf("result = %d\n",result);
result = sizeof(2.3f); // float常量 4
printf("result = %d\n",result);
result = sizeof(2.3); // double常量 8
printf("result = %d\n",result);
//char 占用1个字节, -128~127
//char 类型的常量存储,97以int类型的数据进行存储 4个字节
//char 类型的变量存储,把字符型的ascii码转换为二进制(1给字节)进行存储 1个字节
result = sizeof('a'); // char常量 4
printf("result = %d\n",result);
}
// 2)sizeof计算变量在内存中占用的字节数
void test2(){
short result2 = 1;
int result = 1;
long result3 = 1;
float f1 = 2.3f;
double d1 = 2.3;
char ch = 'a';
result = sizeof(result2); // short变量 2
printf("result = %d\n",result);
result = sizeof(result); // int变量 4
printf("result = %d\n",result);
result = sizeof(result3); // long变量 8
printf("result = %d\n",result);
result = sizeof(f1); // float变量 4
printf("result = %d\n",result);
result = sizeof(d1); // double变量 8
printf("result = %d\n",result);
//char 占用1个字节, -128~127
//char 类型的常量存储,97以int类型的数据进行存储 4个字节
//char 类型的变量存储,把字符型的ascii码转换为二进制(1给字节)进行存储 1个字节
result = sizeof(ch); // char变量 1
printf("result = %d\n",result);
}
// 3) sizeof计算数据类型在内存中占用的字节数
#include <stdio.h>
int main(int argc, const char * argv[]) {
short result2 = 1;
int result = 1;
long result3 = 1;
float f1 = 2.3f;
double d1 = 2.3;
char ch = 'a';
result = sizeof(short); // short类型 2
printf("result = %d\n",result);
result = sizeof(int); // int类型 4
printf("result = %d\n",result);
result = sizeof(long); // long类型 8
printf("result = %d\n",result);
result = sizeof(float); // float类型 4
printf("result = %d\n",result);
result = sizeof(double); // double类型 8
printf("result = %d\n",result);
//char 占用1个字节, -128~127
//char 类型的常量存储,97以int类型的数据进行存储 4个字节
//char 类型的变量存储,把字符型的ascii码转换为二进制(1给字节)进行存储 1个字节
result = sizeof(char); // char类型 1
printf("result = %d\n",result);
return 0;
}
作者:
灵韵依存
时间:
2015-12-3 10:52
谢谢 分享
作者:
董立正
时间:
2015-12-3 12:39
灵韵依存 发表于 2015-12-3 10:52
谢谢 分享
nothing
作者:
fengcommon
时间:
2015-12-3 12:42
写的很好~~~
作者:
zhuwenjia
时间:
2015-12-4 22:24
谢谢分享
作者:
junjunzhang
时间:
2015-12-8 23:03
记性不好
还好有你
谢谢分享
作者:
konglong
时间:
2015-12-8 23:24
感谢分享
作者:
leslie豪
时间:
2015-12-8 23:52
好吧,这样也行...
作者:
daniel661
时间:
2015-12-9 00:12
今天刚学到 谢谢分享
作者:
核酸的双链
时间:
2015-12-9 00:28
赞赞赞,谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2