結構體指針初始化方法


結構體指針必須初始化   轉載地址忘記了存 

 

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 個參數, 分配標志


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM