结构体指针初始化方法

结构体指针必须初始化   转载地址忘记了存 

struct student{  

  char *name;  

  int score;  

  struct student* next;  

}stu,*stu1;   

int main(){   

  stu.name = (char*)malloc(sizeof(char)); /*1.结构体成员指针需要初始化*/ 

  strcpy(stu.name,"Jimy");  

  stu.score = 99;  

  stu1 = (struct student*)malloc(sizeof(struct student));/*2.结构体指针需要初始化*/ 

  stu1->name = (char*)malloc(sizeof(char));/*3.结构体指针的成员指针同样需要初始化*/ 

  stu.next  = stu1;  

  strcpy(stu1->name,"Lucy");  

  stu1->score = 98;  

  stu1->next = NULL;  

  printf("name %s, score %d \n ",stu.name, stu.score);  

  printf("name %s, score %d \n ",stu1->name, stu1->score);  

  free(stu1);  

重点是malloc

内核中的是kmalloc

#include <linux/slab.h> void *kmalloc(size_t size, int flags);

给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志

猜你喜欢

转载自www.cnblogs.com/yl1995/p/11079809.html