600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 指向结构体的指针和指向结构体指针的指针

指向结构体的指针和指向结构体指针的指针

时间:2023-03-30 04:00:03

相关推荐

指向结构体的指针和指向结构体指针的指针

例如,struct T *ptr;是指向一个结构体的指针,也可以当做一个结构体数组来用。 可以把结构体当做 int 来看,int* 类型即可以指向一个整数,也可以指向数组。

struct T ** ptr, 说白了 就是一个结构体指针的数组,数组内都是指针,还要分配内存。

1,结构体指针用法一:

struSysInfo *SysInfo;

SysInfo = (struSysInfo*)malloc(sizeof(struSysInfo));

SysInfo->VERSION = (char *)malloc(sizeof(char)*10);//VERSION 是结构体中的一个char指针

2,结构体指针用法二:

struParamModel *pParamModel;

ParaModelNum = 20;

pParamModel = (struParamModel*)malloc(sizeof(struParamModel)*ParaModelNum);

for(i = 0;i < ParaModelNum;i++)

pParamModel[i].VERSION =(char *)malloc(sizeof(char)*10);//VERSION 是结构体中的一个char指针

3,指向结构体指针的指针用法一:

BlockCfg **pBlockCfg;

wBlockNum = 100;

devp->pBlockCfg = (BlockCfg**)malloc(sizeof(BlockCfg*)*wBlockNum);

for(b = 0;b < wBlockNum ; b++)

{

devp->pBlockCfg[b] = (BlockCfg*)malloc(sizeof(BlockCfg));

memset(devp->pBlockCfg[j]->BlockType, '\0', 32);//BlockType是结构体中的一个占32字节空间的char型数组

}

4,指向结构体指针的指针用法二:

FrozenTpyes **pFrozeTypes;//一维对应di2pos,二维对应di0pos

wDI2Max = 20;

devp->pFrozeTypes = (FrozenTpyes**)malloc(sizeof(FrozenTpyes*)*wDI2Max);

for(a = 0;a < wDI2Max;a++)

{

wFrozeTimes[a] = a+10;

devp->pFrozeTypes[a] = (FrozenTpyes*)malloc(sizeof(FrozenTpyes)*wFrozeTimes[a]);

for(b = 0; b < wFrozeTimes[a];b++)//次数

{

memset(devp->pFrozeTypes[a][b].chFrozTime,0,12);//chFrozTime为结构体中占12字节空间的char型数组

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。