首页 >> 百科生活 > 趣味生活 >

指针赋值语句(指针赋值)

2023-12-05 11:15:07 来源: 用户:习豪菡 

大家好,我是小跳,我来为大家解答以上问题。指针赋值语句,指针赋值很多人还不知道,现在让我们一起来看看吧!

1、首先,p是一个指向整数型变量的指针

2、int *p=10;表明这个指针指向的整数位于地址是10的存储器中(这个地址的使用是比较危险的,用绝对地址寻址的话,你不知道这个地址是空闲还是被别的程序或操作系统使用着,如果贸然写的话会出现非法写数据区或程序区的错误,但只要不去对*p进行赋值就不会出错)。

3、然后c是一个指向字符类型变量的指针

4、char *c=&p;表明这个指针指向你开设的变量p的位置,这个位置是你程序中分配的数据地址,所以操作起来是安全的。如果你向c指向的地址存放字符,那么就会改变变量p中最低位字节的内容。

5、比如:int *p=10; char *c=&p;

6、假设p的地址是0x80000000且为32位地址、小端存储,那么存储区是这样的:

7、地址 别名 内容

8、0x80000000 p 0x0a,0x00,0x00,0x00 变量p中存放的是赋值的10

9、0x80000004 c 0x00,0x00,0x00,0x80 变量c中存放的是p的最低字节地址0x80000000

10、如果再有语句:*c=0x08; 则执行后存储区变为:

11、地址 别名 内容

12、0x80000000 p 0x08,0x00,0x00,0x00 变量p中的最低字节被语句赋值成了0x08

13、0x80000004 c 0x00,0x00,0x00,0x80 变量c中存放的仍然是p的最低字节地址0x80000000

本文到此讲解完毕了,希望对大家有帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章