当前位置: 技术问答>linux和unix
关于指针的地址重的问题,求教了。
来源: 互联网 发布时间:2016-04-01
本文导语: 我定义了个全局的结构体,成员里面有个指针数组,char *Parameter[4]; 我又定义了个全局的另外的指针数组char *chQKey[30]; 可是我发现,我改变chQKey的时候,结构体里的Parameter也变了, 用gdb调试了下,p &chQKey[0],发现...
我定义了个全局的结构体,成员里面有个指针数组,char *Parameter[4];
我又定义了个全局的另外的指针数组char *chQKey[30];
可是我发现,我改变chQKey的时候,结构体里的Parameter也变了,
用gdb调试了下,p &chQKey[0],发现结构体里面的指针数组地址是从0x8051224开始的
然后我又看了下Parameter的,发现这个地址是从0x8051280开始的,
也就是说,我定义了30个,因为连续的,所以&chQKey[24]开始就和结构体里的那个地址重了,所以,就出现了这个情况。
不是太明白~想问问这个怎么回事啊?
我又定义了个全局的另外的指针数组char *chQKey[30];
可是我发现,我改变chQKey的时候,结构体里的Parameter也变了,
用gdb调试了下,p &chQKey[0],发现结构体里面的指针数组地址是从0x8051224开始的
然后我又看了下Parameter的,发现这个地址是从0x8051280开始的,
也就是说,我定义了30个,因为连续的,所以&chQKey[24]开始就和结构体里的那个地址重了,所以,就出现了这个情况。
不是太明白~想问问这个怎么回事啊?
|
你定义了指针数组,有没有对数组的各个指针元素赋值啊?没赋值就使用?
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。