<span style="font-family:Arial;font-size:32px;"><strong>char tempstr[20] = {0}; //定義字符數組接收字符串
char *names[3] = {0}; //存儲堆區地址
for (int i = 0; i < 3; i++) {
printf("請輸入學員姓名:\n");
scanf("%s",tempstr); //輸入字符串
names[i] = malloc(strlen(tempstr) + 1);//根據字符串大小動態分配內存,將地址存儲在對應的指針數組元素中.
strcpy(names[i], tempstr); //將臨時數組中的數據拷貝到對應的堆區空間上
}
for (int i = 0; i < 3; i++) {
printf("%s\n",names[i]);//打印堆區字符串
free(names[i]); //將堆區空間釋放
names[i] = NULL;
}
</strong></span>
輸入3個學員的姓名,動態分配內存保存學員姓名,並在最後輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.