一:数据类型
1、strlen:测量一个字符串有多少字符; 不统计\0;
printf ("strlen (str)=%d\n",strlen (src));
2、整数原码=补码 负数补码=原码取反+1
3、bit; 字节=(8bit); 半字=(2个字节=16bit);字=4个字节=32bit
4、sizeof (num);测量一个变量字节长度(所占空间大小)
5、特殊字节指针;
不管什么类型指针,长度均为4;
为什么? 地址长度固定,长度由操作系统长度决定(位数)
6、int:4 long:4 float:4 short:2 char:1double:8
7如何提高有符号和无符号的代码移植性?
在嵌入式开发中,考虑到代码的移植性对于符号一定要留心系统默认是有符号还是无符号。为了解决此问题使用typedef来重新指定声明。
8、无/有符号区别: 有符号数和无符号数进行比较运算时,有符号数隐式转化成了无符号数(即底层的补码不变,但是此数从有符号数变成了无符号数)。
9、虚地址划分:
内核 =(1 G)操作系统的核心
栈空间 = 特点:先进后出、系统管理 包括:局部变量、函数形参、自动变量
堆空间 = 保存malloc、 calloc、ralloc 特点:先进先出;由用户管理
全局数据库 = bss --未初始化的全局变量。 ordate --常量(不可被修改) 静态数据区:初始化的全局变量
代码段