1 内存大小
1K Byte |
0x00-->0X400 0-->211=1024 |
2K Byte |
0x00-->0X800 0-->212=2048 |
4K Byte
|
0x00-->0X1000 0-->212=4096 |
1M Byte |
0x00-->0X10 0000 0-->220 |
2M Byte |
0x00-->0X20 0000 0-->221 |
4M Byte
|
0x00-->0X40 0000 0-->222 |
1G Byte |
0x00-->0X4000 0000 0-230 |
2G Byte |
0x00-->0X8000 0000 0-->231 |
4G Byte
|
0x00-->0X1 0000 0000 0-->232 |
2 地址与内容
char *p_char:内存中每个位置可以存储1个字节,每个位置8位,可以表示无符号0~255,或者有符号-128~127
char *p_int:内存中每个位置可以存储4个字节,每个位置32位,可以表示无符号0~232-1,或者有符号-231~231-1
3 指针变量的定义
方法1:先定义,再赋值
float a=99.5; float *p_a; //定义指针变量 p_a = &a; //指针变量赋值 p_a指向变量a的地址 printf("p_a = %#x\r\n", p_a); printf("a = %f\r\n",a);
输出:
p_a = 0x62fe98
a = 99.500000
方法2:定义的同时赋值
float a=99.5; float *p_a = &a; //定义指针变量指向a的地址
表达式 | 右值 | 类型 |
a | 99.5 | float |
p_a | 0x62fe98 | float * |
*p_a | 99.5 | float |
4 修改指针变量
p_a = &b; //修改指针变量指向变量b的地址