sizeof详解
来源:互联网 发布:抽象工作室倒闭 知乎 编辑:程序博客网 时间:2024/05/22 15:20
sizeof
C语言中判断数据类型或者表达式长度符;不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中计算。
1、指针变量的sizeof
sizeof(指针变量):计算机内部地址总线的宽度;
2、数组的sizeof
数组的sizeof值等于数组所占用的内存字节数;
int a[3];
sizeof(a);//结果为3×4=12(不是元素个数3)
求数组元素个数:
int c = sizeof(a)/sizeof(int);
int c = sizeof(a)/sizeof(a[0]);
注意:在数组作为形参的函数中,函数调用时进行的是地址传递,也就是将实参的地址传递给形参,因此数组蜕变为指针变量。
void lizi1(char a2[5])
{
int c = sizeof(a2); //c == 4, a2蜕变为指针变量;
}
3、结构体的sizeof
结构体中需要考虑字节对齐问题;
4、含位域结构体的sizeof
5、联合体的sizeof
联合体的sizeof也就是每个成员sizeof的最大值;
注:
与strlen(char *)函数的区别:
strlen(char *):求的是字符的实际长度(从开始到遇到第一个'\0');
char a[10]; cout<<strlen(aa)<<endl;//aa未初始化,结果是不定的
char a[10]={'\0'};cout<<strlen(aa)<<endl;//结果为0,说明strlen计算长度时不包括'\0';
char a[10]="abc";cout<<strlen(aa)<<endl;//结果为3,为实际长度
sizeof是算符,返回的是变量声明后所占的内存数,不是实际长度;
- sizeof详解
- sizeof()详解
- sizeof详解
- Sizeof 详解
- sizeof详解
- sizeof详解。。。。。
- sizeof详解
- sizeof详解
- sizeof详解
- Sizeof() 详解
- sizeof 详解
- sizeof 详解
- sizeof详解
- sizeof详解
- sizeof详解
- sizeof详解
- sizeof()详解
- sizeof--详解
- sort命令详解
- 第七周项目1-建立顺序环形队列算法库
- 设置listview加载分页
- hdu 1282 回文数猜想
- 解决Exception starting filter struts2 java.lang.UnsupportedClassVersionError: Bad version number in .
- sizeof详解
- C#35课的主要内容
- 解决Solr返回413错误——修改solr服务器请求头大小
- PHP面向对象_魔术常量、魔术方法和预定义常量总结
- c++ thread(2.1)---join()
- 互斥量(互斥锁)与条件变量
- 安信可esp8266进阶之一体化开发环境搭建
- 机器学习中的范数规则化之(一)L0、L1与L2范数、核范数与规则项参数选择
- Junit单元测试细节