当前位置:  技术问答>linux和unix

struct pointer問題

    来源: 互联网  发布时间:2016-05-22

    本文导语:  struct S_Struct {  int numA;  int numB; }; struct S_Struct *stt; (gdb) p stt $1 = (struct S_Struct *) 0xb7f2e0b0   這個address為尚未分配,系統隨意給的 (gdb) p &stt $2 = (struct S_Struct **) 0xbfc0d650  這個呢,代表numA的address嗎? stt不...

struct S_Struct
{
 int numA;
 int numB;
};

struct S_Struct *stt;

(gdb) p stt
$1 = (struct S_Struct *) 0xb7f2e0b0   這個address為尚未分配,系統隨意給的

(gdb) p &stt
$2 = (struct S_Struct **) 0xbfc0d650  這個呢,代表numA的address嗎? stt不是只是個pointer,還未分配記憶體
給它,怎麼numA已經有了address空間呢

這是我的理解,不知哪裡有錯呢..
thx

|
假如你是一個大將軍,現在皇帝要派你出去打仗了,皇帝給你調撥了五萬士兵。好了,此時你就是一個指針,你

可以操作那五萬士兵,他們就是那個真實的struct了。

但是你們出征,一定不能不行啊,皇帝得給你們配備車馬呀,而車馬就是記憶體了,因為它用來放你和你的士兵。

假如每輛車可以裝五個人,那你說你需要多少輛兵車呢?你可能會說,很簡單呀,五萬除以五,一萬輛兵車就可

以了呀!很不幸,你答錯了...一萬輛兵車的記憶體只能存放五萬名士兵,還需要一輛兵車來保存你...

現在明白了吧?雖然是一個指針,但是在記憶體中也要保存,如果不保存它,那就沒辦法操縱struct了,就好比

沒了你,那五萬士兵就沒人指揮了一樣呀...

|
(gdb) p &stt 
$2 = (struct S_Struct **) 0xbfc0d650
这是指针的地址,也可以说是指针的指针啊,
你已经定义了一个指针,它当然也得有存储地址啊.

|
p stt表示指针的值,该值是BSS段中的数据,一般不太会是随意的值,大部分编译器通常会为其初始化为0.

p &stt代表指针的地址,因为struct S_Struct *stt时编译器会为你分配一个4字节用来 ,这个4字节就是我们通常所的指针。主要是指的这4个字节的地址,在BSS段中。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: struct定义及介绍
  • linux 下结构struct ethhdr,struct iphdr在那个头文件下;谢谢!!
  • java命名空间java.sql接口struct的类成员方法: getsqltypename定义及介绍
  • typedef_struct与struct之间的区别
  • java命名空间java.sql接口struct的类成员方法: getattributes定义及介绍
  • struct sock *sk和 struct sk_buff *skb之间的关系
  • 知道TCP/UDP的包头,如何判断其应用层协议类型,struct tcphdr和 struct udphdr结构中那个变量能判断应用层协议类型。
  • struct task_struct * get_current(void)函数的解释--help!!
  • 任意struct問題
  • Linux内核中work_struct的定义
  • struct 也有构造器吗?
  • struct dirent的问题
  • 关于struct timespec的一个问题
  • 没有名字的struct
  • struct in_addr 和 unsigned long的转换
  • 求解struct的大小
  • Python struct.unpack
  • 请教struct sembuf的结构是怎样,急!急!急!!!!!!!!
  • 请问:从哪个header文件中看struct tty_driver的定义
  • 用g++开发,怎么设置结构(struct)1字节对齐?
  • struct timeval结构体的作用是什么呢?谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3