sizeof的一点点整理
来源:互联网 发布:置知不理的意思是什么 编辑:程序博客网 时间:2024/05/16 05:38
sizeof是运算符 strlen是函数
sizeof不算函数调用
strlen*(char*)函数求的是字符串的实际长度 遇到第一个‘\0’ 返回计数值
sizeof 返回的是变量声明后所占的内存数 不是实际长度
sizeof 可以用类型做参数 strlen只能用char*做参数 而且必须以‘\0’结尾
sizeof 后如果是类型必须加括弧 变量名可以不加
sizeof 是判断数据类型长度的关键字
sizeof 是c/c++中的一个操作符,其作用是返回一个对象或者类型所占的内存字节数。
其返回值类型为size_t,在头文件stddef.h中定义。这个值取决于编译系统。
它的值之和最终类型有关,
c99规定 函数、不能确定类型的表达式以及位域成员不能被计算sizeof值,
例如sizeof(foo);//error
void foo2( )
{
}
sizeof(foo2());//error
struct S {
unsigned int f1;
unsigned int f2;
unsigned int f3;
};
sizeof(S.f1);//error
sizeof 的计算发生在编译时刻 可以被当作常量表达式使用(最新的c99可以在运行时刻计算)
基本数据类型的sizeof在不同系统可能不同
指针相当于计算机内部地址总线的宽度 32位计算机中指针变量的返回值是4 64位中是8
数组的sizeof相当于数组所占的内存字节数
附 作业
char c=128;
// 1000 0000
unsigned char uc=128;
// 1000 0000
unsigned short us=0;
// 0000 0000 0000 0000
us = c+uc;
// 1111 1111 1000 0000
// 0000 0000 1000 0000
// 0000 0000 0000 0000
printf("%x\n",us);
// 0x0
us=(unsigned char)c +uc;
// (unsigned char)c 0000 0000 1000 0000
// 0000 0000 1000 0000
// 0000 0001 0000 0000
printf("%x\n",us);
// 0x100
us = c+(char)us;
// 1111 1111 1000 0000
// 1111 1111 1000 0000
// 1111 1111 0000 0000
printf("%x\n",us);
// 0xff00
}
- sizeof的一点点整理
- sizeof()【整理】
- sizeof整理
- sizeof的基本用法的整理
- Sizeof与Strlen的区别(整理)
- 关于Android中ImageView中tint属性的一点点整理
- sizeof and strlen整理
- sizeof与类,继承,virtual的种种(整理)
- sizeof与类,继承,virtual的种种(整理)
- 一点点的郁闷
- 一点点的失落
- 回溯的一点点
- 高考前的一点点~~
- 曾经的一点点
- cache的一点点说明
- DELPHI的一点点总结
- 编码的一点点总结
- birdeye的一点点东西
- .gitignore文件不生效问题
- 学习笔记——TCP/IP协议简介
- JDK源码解析之ArrayList和LinkedList
- 关于MySQL连接报错:1045的问题
- 7月-9月
- sizeof的一点点整理
- OpenCV编程->图像边界拓展copyMakeBorder
- Android设计模式之简单工厂模式(一)
- S3C2440看门狗定时器(Watchdog)
- 《Java编程思想》读书笔记
- 17高软实验二报告
- luogu1084【2012提高】疫情控制(二分答案+贪心+倍增)
- JavaScript中 call 与 apply、bind 的使用
- org.apache.commons.lang3.StringUtils,UUID和LoadingCache