结构体的嵌套问题.

代码如下:
typedef struct mblk {
struct mblk* pmblkNext;
struct mpCb* pmblkPool;
UINT32 state;
} MBLK;

typedef struct mpCb {
struct mpCb* pmpCbNext;
UINT8* pheap;
UINT32 heapSize;
UINT32 blkSize;
UINT32 nrBlks;
MBLK* pfreeMblk;
UINT32 nrAlloc;
UINT32 nrFreed;
} MPCB;
请高手帮忙详细解释一下struct mblk* pmblkNext;struct mpCb* pmpCbNext;和MBLK* pfreeMblk;这三个定义的用法(为什么要这么用),还有就是这两个结构体所占内存空间的大小是多少,谢谢了.这是针对Memory management 定义的几个结构体.
各位老大是因为问题简单啊,还是因为给的分少啊,小弟刚来这边手上的积分实在是少啊,这样我再增加30分,希望老大们不吝赐教!

这个应该是OS系统对内存空间初始化的过程,主要是对内存空间进行分块操作,从代码中可以看到,其实每一个结构体就是一个为内存分的一个特定区域.不知道说的对不对,还请高手们指正一下.
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-16
struct mblk* pmblkNext;//结构体指针
struct mpCb* pmblkPool;//结构体指针
如果要在结构体裏面嵌套,指针是最有效的办法了,结构清晰,并且访问的时候不会晕。

结构体的嵌套问题.
这个应该是OS系统对内存空间初始化的过程,主要是对内存空间进行分块操作,从代码中可以看到,其实每一个结构体就是一个为内存分的一个特定区域.不知道说的对不对,还请高手们指正一下.

嵌套结构体问题。
这里就涉及到指针这种特殊的类型,(指针本身占用的空间,和指针指向的空间,)2,而当把这个结构体的本身作为自身变量的时候,你就无法知道这个变量具体占用的内存空间是多少,所以在给变量分配空间的时候就无法分配,所以说错误,(就好比你定义一个数组,一定要指定这个数组有多少个元素,要不然计算机也没办法知道你...

C语言-结构体指针及结构体嵌套
嵌套结构体初始化时,按照成员的顺序逐个初始化。C语言允许结构体嵌套自身的结构体指针,但不能嵌套结构体本身。以下是几个实例,展示了结构体指针的使用和嵌套结构体的结合:1. 结构体指针:struct office {int chair; int computer;}; \/\/ 嵌套结构体 struct office officeOne = {10,10};struct of...

C语言结构体嵌套问题
我们定义一个新的结构体,就像定义一个新的数据类型一样,所以你的author和book都是一种结构体,而不是具体的变量,所以还要加一步(就像你第二个定义里面的struct author member一样):struct book books[N];后面用books这个数组变量就可以了(看你后面是想要个数组的)。

请教各位大侠,c语言结构体嵌套的问题、。
C语言实现不了你的想法。结构本身是没有值的,只有结构成员才有值。typedef struct{ float H;float L;float actual;}physic;typedef struct{ physic v;physic p;}thing;thing RTU;RTU.v.H=123.456;RTU.v.L=0;RTU.v.actual=100;

结构体嵌套联合体字节对齐问题
而union存在char a[9]。也就是需要9个字节来存储即可,但是!C对内存有 这样的要求:所占内存大小必须是最大类型字节的整数倍,union中最大类型是double 8字节(数组不是类型!!)。因此union需要大于等于 9 同时又是8的倍数。因此就占16个字节。最好还要注意struct里面最大类型也是double。而不是int...

C语言结构体的嵌套问题
scanf输入格式有问题 include <stdio.h> include <stdlib.h> include <malloc.h> include <string.h> struct course { char name[10];int score;int credithour;};typedef struct student { char name[10];struct course s[5];int average;struct student *next;}STU;void Create(STU *L){ ...

嵌套的结构体赋值的问题
这个问题跟外层结构成员或者嵌套结构成员无关。在用scanf函数输入数据的时候,需要把要赋值的变量的地址传给scanf函数。结构成员name是个数组,不带下标的数组名就是数组的地址,所以scanf("%s",c->name)是正确的。而嵌套结构的成员k是个整型变量,在输入的时候要在前面加上&来取得它的地址,所以要写成...

​这个结构体的嵌套定义怎么理解,我都晕了
只有一个变量s 第三层是在这个无名结构体s里面定义了一个最外层的指针 struct ALLOC_HDR *ptr;所以如果要访问base上的指针 ptr可以写成 base.s.ptr 这个ptr实质上是ALLOC_HDR *型的 也就是说 base.s.ptr->s.ptr->s.ptr这样的访问是允许的 也是可以无限嵌套下去的 ...

结构体可以嵌套定义吗
类定义中嵌套结构体是可以的,这里要分几种情况说明:对于已经声明的(在类外)结构体类型,在类定义内嵌套结构体变量,没有任何问题。在类定义内直接定义结构体类型并同时声明结构体变量,也是可以的,但这个结构体类型无法在类外使用。在类内只定义结构体类型,而不同时声明结构体变量是不可以的(这个...

相似回答
大家正在搜