C 结构体嵌套一级指针 二级指针 动态分配内存
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C 结构体嵌套一级指针 二级指针 动态分配内存
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                https://blog.csdn.net/xielinhua88/article/details/51364623
點(diǎn)擊打開(kāi)鏈接 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include <stdio.h> //結(jié)構(gòu)體嵌套一級(jí)指針 二級(jí)指針 動(dòng)態(tài)分配內(nèi)存 typedef struct _Teacher { int age; int id; char *title; char **pStuarray; char name[64]; }Teacher; //打印結(jié)構(gòu)體 void printfTeacher(Teacher *array,int num) { int i = 0; for ( i = 0; i < num; i++) { printf("%d\n", array[i].age); printf("%s\n",array[i].pStuarray[i]); } } //給結(jié)構(gòu)體分配內(nèi)存 Teacher* createTarray(int num) { int i = 0,j=0; Teacher* teacher; teacher = (Teacher*)malloc(sizeof(Teacher)*num); if (teacher!=NULL) { for ( i = 0; i < num; i++) { teacher[i].title = (char*)malloc(sizeof(char)*100);//結(jié)構(gòu)體Teacher title分配內(nèi)存 char** ptmp = (char**)malloc(sizeof(char*)*num);// for ( j = 0; j < num; j++) { ptmp[i] = (char*)malloc(100);// } teacher[i].pStuarray = ptmp; } } return teacher; } //釋放內(nèi)存 void freeTeacher(Teacher* arrayT,int num) { int i = 0,j=0; if (arrayT!=NULL) { for (i = 0; i < num;i++) { if (arrayT[i].title != NULL) { free(arrayT[i].title); } if (arrayT[i].pStuarray!=NULL) { for (j = 0; j < num; j++) { free(arrayT[i].pStuarray[j]); } } free(arrayT[i].pStuarray); } free(arrayT); } } void main() { int i = 0,j=0; Teacher *pArray=NULL; int num = 1; pArray = createTarray(num); for (i = 0; i < num; i++) { printf(" %d---age?\n", i + 1); scanf("%d", &pArray[i].age); printf(" %d---title?\n", i + 1); scanf("%s", pArray[i].title); printf(" %d---name?\n", i + 1); scanf("%s", pArray[i].name); for (j = 0; j < num; j++) { printf(" ---student----%d\n",i+1); scanf("%s", pArray[i].pStuarray[j]); } } printfTeacher(pArray,num); freeTeacher(pArray, num); system("pause"); }總結(jié)
以上是生活随笔為你收集整理的C 结构体嵌套一级指针 二级指针 动态分配内存的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: C语言:结构体中一级指针和二级指针的创建
 - 下一篇: 成都欢乐谷6号线在哪站下