本文目录一览:
C语言 结构体的定义及使用
初始化错误,首先应该定义一个结构体变量,然后再进行初始化,注意定义结构体变量的时候,如果用指针的话要先用malloc申请内存,否则会提示段错误。
初始化结构体的时候这么写yinkailin.name = "yinkaulin",算了我把整个main函数写给你吧
int main (int argc,char **argv)
{
struct student yinkailin; //定义结构体变量
/****初始化结构体变量**/
memzero(yinkailin);//先整体清零,以防止遗漏成员变量初始化
yankailin.name ="yankailin";
yankailin.set = "male";
下面的自己写就ok了
/****end**/
}
望采纳,我一个个认真的敲上去的啊。。。
C语言结构体指针数组初始化问题
//给空值
ppaas = NULL;
//申请空间
ppaas =(PPAAS)new aa *[500];//new以后,这个空间(数组)存放500个指针,ppaas 指向这个空间,使用时需要再对每个元素去分配内存。
//比如
(*ppaas)[0] = new aa;
(*ppaas)[0]-age = 100;
(*ppaas)[0]-name = "sdfsdf";
//---------------------------------------------------
ppbbs = NULL;
ppbbs =(PPBBS)new PBB[500];
(*ppbbs)[0] = new BB;
(*ppbbs)[0]-aacount = 100;
(*ppbbs)[0]-pbbs[0] =new BB;
(*ppbbs)[0]-pbbs[0]-aacount = 101;
(*ppbbs)[0]-pbbs[0]-pbbs[0] = NULL;
(*ppbbs)[0]-pbbs[0]-pbbs[1] = NULL;
(*ppbbs)[0]-pbbs[1] = new BB;
(*ppbbs)[0]-pbbs[1]-aacount = 101;
(*ppbbs)[0]-pbbs[1]-pbbs[0] = NULL;
(*ppbbs)[0]-pbbs[1]-pbbs[1] = NULL;
(*ppbbs)[0]-pbbs[2] = NULL;
(*ppbbs)[1] = NULL;
C语言结构体指针变量初始化
void RegList(LB *L) //初始化线性表(建立头结点,指针域置为空)
{
L=(LB *)malloc(sizeof(LB));
L-next=NULL;
}
改成指针的指针 调用的时候RegList(k);就行了。
void RegList(LB **L)
{
*L = (LB*)malloc(sizeof(LB));
(*L)-next = NULL;
}
c语言初始化结构体的指针
void attach (char *name, int address, int length)
{
device_t *d;
target_t *target;
d = target -attach_device(name, address, length);
}
其中的target只是一个target_t 类型的指针,你只是定义了,没有指向某个地方。
他会随便指向某个地方,当你用target时,就会报错了。
应该先定义一个target_t变量,然后把它的地址赋给指针!