+ -
当前位置:首页 → 问答吧 → 链表结构体中的指针大小

链表结构体中的指针大小

时间:2010-06-28

来源:互联网

首先定义一个结构体:struct student{
                                                      char *name;
                                                      ......
                                                      struct student *p;
                                   };
问:这里这个指针p所占内存是多大呢?指针name和p有什么区别(结构体包含name指针编译会报错,报错的理由是什么?p指针不会编译报错)


新手学习中,多多指教

作者: shaohui973   发布时间: 2010-06-28

报什么错?

两个指针的大小应该是一样的 sizeof(char*) 和 sizeof(struct student *)不就知道咯

作者: xyfree   发布时间: 2010-06-28

在32位机器上,指针大小统一为4个字节
两个指针指向的数据类型不同,一个指向char型数据,另外一个指向结构体
至于报错问题,我看不出来哪里错了。
多看书,多打代码才是学习的王道

作者: mgqw   发布时间: 2010-06-28

本帖最后由 yulihua49 于 2010-06-28 16:23 编辑


QUOTE:
首先定义一个结构体:struct student{
                                                      char *nam ...
shaohui973 发表于 2010-06-28 15:49




    64位系统都是8字节。
不管什么对象,指针都是固定长,它存一个地址,那个地址应该有指定对象的空间。

作者: yulihua49   发布时间: 2010-06-28

谢谢,重新编了个函数测试下解决疑问了。

作者: shaohui973   发布时间: 2010-06-28

楼主说说报错的原因呗,我还是没看出来为什么 “结构体包含name指针编译会报错”

作者: Magic_LP   发布时间: 2010-06-28