struct student
char * name;
int age;
}stu, *pstu;
int main()
strcpy(stu.name, 'zhangsan');
stu.age = 20;
return 0;
問:這段**有什麼錯誤?
答:定義的結構體變數stu,分配了char *型別的指標
(指標變數name本身只分配了4個位元組)和int型別的變數age;而nam指標並沒有指向乙個合法的位址。
正確的做法是:為name指標變數malloc一塊空間。
int main()
stu.name = (char *) malloc(10);
strcpy(stu.name, 'lisi');
stu.age = 20;
return 0;
結構體指標訪問成員
結構體指標訪問成員 include struct student int main p stu1 printf 學號 t姓名 t分數 n printf d t s t 0.1f n p num,p name,p score 2.該種方法是定義乙個指標變數,只指向乙個struct student的結構...
函式指標作為結構體的成員
我發乙個執行過的原始碼。在.h檔案中,有如下 tvm控制狀態 typedef struct m tvm ctrl m tvm ctrl extern m tvm ctrl tvm ctrl 控制器 在.c檔案中,有如下 tvm主控制器 m tvm ctrl tvm ctrl 控制器 get coin...
結構體成員 陣列或指標
c語言中沒有字串型別,只能使用字元陣列表示字串。當定義結構體時,成員是字元陣列時,在外部給該成員賦值,不能使用 結構體把變數名.成員名 ssss 直接列印輸出結構體成員陣列名,輸出的是位址。可以使用字串函式 strcpy 給字元陣列 相當於字串 複製乙個字串。struct student4 使用這種...