如果乙個結構體內巢狀二級指標了二級指標,這裡的students為二級指標,也對應了一對多的關係,乙個老師,多個學生。
struct teacher
;
我們知道,二級指標指向一級指標的位址,**指標指向二級指標的位址
void
test()
//列印老師及其學生資訊
printteachers
(teachers)
;//釋放記憶體
freespace
(teachers)
; teachers =
null
;}
int
allocatespace
(struct teacher *
**temp)
struct teacher *
*ts =
malloc
(sizeof
(struct teacher *)*
3);for
(int i =
0; i <3;
++i)
}*temp = ts;
return0;
}
void
printteachers
(struct teacher *
*teachers)
for(
int i =
0; i <3;
++i)
}}
void
freespace
(struct teacher *
*teachers)
for(
int i =
0; i <3;
++i)
if(teachers[i]
->name !=
null
)for
(int j =
0; j <4;
++j)
}free
(teachers[i]
->students)
; teachers[i]
->students =
null
;free
(teachers[i]);
teachers[i]
=null;}
free
(teachers)
; teachers =
null
;}
teacher_1
teacher_1_stu_1
teacher_1_stu_2
teacher_1_stu_3
teacher_1_stu_4
teacher_2
teacher_2_stu_1
teacher_2_stu_2
teacher_2_stu_3
teacher_2_stu_4
teacher_3
teacher_3_stu_1
teacher_3_stu_2
teacher_3_stu_3
teacher_3_stu_4
c語言 結構體巢狀一級指標
這裡用支了二級指標 void test 執行 name name 1 age 100name name 2 age 101name name 3 age 102name name 1的記憶體被釋放 name name 2的記憶體被釋放 name name 3的記憶體被釋放 分配記憶體 struct ...
C語言二級指標
指標是c語言的靈魂,我想對於一級指標大家應該都很熟悉,也經常用到 比如說對於字串的處理,函式引數的 值,結果傳遞 等,對於二級指標或者多級指標,我想理解起來也是比較容易的,比如二級指標就是指向指標的指標.n級指標就是.但是可能大家比較不容易理解的是,二級指標或者多級指標用在 呢?怎麼使用呢?有沒有必...
結構體巢狀二級指標和一級指標 釋放時出現的問題
發現問題所在,應釋放main函式p指向的記憶體,而不是freeteacher函式裡p指向的記憶體 define crt secure no warnings include include include include 4.重寫結構體巢狀一級指標老師和二級指標學生的 結構體型別,每個導師有三個學生...