C语言-指针变量

跟風遠走 提交于 2019-12-03 19:59:22

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的地址

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!