結構體指針必須初始化 轉載地址忘記了存
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 個參數, 分配標志
