1.1       sizeof关键字

sizeofc语言关键字,功能是求指定数据类型在内存中的大小,单位:字节

sizeof与size_t类型

1.1       int类型

1.1.1          int常量,变量

int就是32位的一个二进制整数,在内存当中占据4个字节的空间

1.1.2          printf输出int值

%d,输出一个有符号的10进制整数,%u,代表输出一个无符号的十进制整数

1.1.3          printf输出八进制和十六进制

%x,代表输出16进制数,%X,用大写字母方式输出16进制数

%o代表输出八进制数

1.1.4          short,long,long long,unsigned int

short意思为短整数,在32位系统下是2个字节,16个比特

long意思为长整数,在32位的系统下,long都是4个字节的,在64位系统下,windows还是4个字节,unix下成了8个字节。

Int不管是32位系统下,还是64位系统下,不论是windows还是unix都是4个字节的

Long long是64位,也就是8个字节大小的整数,对于32位操作系统,CPU寄存器是32位,所以计算longlong类型的数据,效率很低

9l,9L,9ll,9LL,9u,9ull,9ULL

1.1.5          整数溢出

计算一个整数的时候超过整数能够容纳的最大单位后,整数会溢出,溢出的结果是高位舍弃。

当一个小的整数赋值给大的整数,符号位不会丢失,会继承

1.1.6          大端对齐与小端对齐

对于arm,intel这种x86构架的复杂指令CPU,整数在内存中是倒着存放的,低地址放低位,高地址放高位,小端对齐。

但对于unix服务器的CPU,更多是采用大端对齐的方式存放整数

#include <stdio.h>

int main()
{
int a = ;//4个字节大小
short b = ;
printf("%d\n", sizeof(b));
long c = ;
printf("%d\n", sizeof(c));
long long d = ;
printf("%d\n", sizeof(d));
unsigned int e = ;//unsigned是关键字,代表是无符号数的意思
printf("%d\n", sizeof(e)); //unsigned short f;//无符号的short
//unsigned long g;//无符号的long
//unsigned long long i;//无符号的long long //int i1; unsigned short abc = 0xffff;
abc = abc + + ;
printf("%d\n", abc); abc = ;
abc = abc - ;
printf("%d\n", abc); int i1 = 0x12345678;
abc = i1;
printf("%x\n", abc); short abc1 = -;
i1 = abc1;
printf("%x\n", i1); unsigned short abc2 = ;
abc2 = abc2 - ;
printf("%d\n", abc2); int a1 = 0x12345678;
printf("%p\n", &a1);//%p的意思是显示一个内存的地址,&a1代表变量a1的地址编号 return ;
}

资料来源:传智播客 仅供学习研究

最新文章

  1. &lt;&lt;&lt; MyEclipse软件中的快捷键
  2. 怎么把MVC的Controller拆分写到别的类库
  3. 2013年7月份第4周51Aspx源码发布详情
  4. [置顶] android 图片库的封装
  5. BULK INSERT如何将大量数据高效地导入SQL Server
  6. (C#)Windows Shell 编程系列2 - 解释,从“桌面”开始展开
  7. Flexigrid的编辑功能
  8. 【原创】纯OO:从设计到编码写一个FlappyBird (二)
  9. 解决关于 ionic3 启动白屏 控制台错误提示:Uncaught SyntaxError Use of const in strict mode.
  10. vi中换行、翻页和查找功能
  11. springboot集成druid连接池
  12. HDOJ 1393 Weird Clock(明确题意就简单了)
  13. acid. cap
  14. HDU 2175 汉诺塔IX (递推)
  15. iOS: 获取UITableViewCell上添加的子控件对应的cell
  16. 三)Wiring up jobs using triggers and the SchedulerFactoryBean
  17. 使用 ECS 实例创建 FTP 站点 linux
  18. No transactional EntityManager available; nested exception is javax.persistence.TransactionRequiredException: No transactional EntityManager available
  19. Image合并添加文字内容
  20. java成神之——正则表达式基本使用

热门文章

  1. linux smem 查看各进程使用memory情况
  2. Error loading XML document: dwz.frag.xml 处理方式
  3. [UI] 精美UI界面欣赏[4]
  4. Maven构建时跳过部分测试
  5. 摄像机内参相关(3ds max)
  6. vs2012配置
  7. APUE 12.7 取消选项
  8. 三星平板SM-T320刷机
  9. 关于第三次寒假作业之C++Calculator项目的情况:
  10. [微信小程序直播平台开发]___(三)Nginx-rtmp事件回调