[問題] 關於malloc和realloc
想問一下版上的各位大大
我本來以為malloc() 是提供一個剛好夠用的空間
像 a=(int*)malloc(3*sizeof(int))
等同於只給a 配置三個int 的空間
可是我剛試驗
讓a這個陣列裝入四個數子 一樣可以使用欸
#include<stdio.h>
#include<stdlib.h>
int main(void){
int i, *a;
a=(int*)malloc(3*sizeof(int));
for(i=0;i<4;i++)
a[i]=i;/*我在這裡擴充 到四個數子*/
for(i=0;i<4;i++)
printf("a[%d]=%d ",i,a[i]);
free(a);
return 0;
}
版上的大大 可以告訴我對malloc有什麼誤解嗎
還有如果可以隨意擴充 矩陣的大小的話
為什麼還需要realloc()
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.104.220
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1491899295.A.401.html
推
04/11 16:33, , 1F
04/11 16:33, 1F
→
04/11 16:36, , 2F
04/11 16:36, 2F
大概了解了 大概就是我運氣好 還是要乖乖用realloc()
※ 編輯: nchwshku (140.116.104.220), 04/11/2017 16:47:30
推
04/11 18:27, , 3F
04/11 18:27, 3F
→
04/11 18:37, , 4F
04/11 18:37, 4F
推
04/11 18:45, , 5F
04/11 18:45, 5F
→
04/11 19:02, , 6F
04/11 19:02, 6F
推
04/11 19:08, , 7F
04/11 19:08, 7F
推
04/11 19:23, , 8F
04/11 19:23, 8F
推
04/11 20:25, , 9F
04/11 20:25, 9F
推
04/11 21:03, , 10F
04/11 21:03, 10F
→
04/11 21:03, , 11F
04/11 21:03, 11F
→
04/11 21:04, , 12F
04/11 21:04, 12F
→
04/11 21:05, , 13F
04/11 21:05, 13F
→
04/11 21:05, , 14F
04/11 21:05, 14F
→
04/11 21:05, , 15F
04/11 21:05, 15F
→
04/11 21:06, , 16F
04/11 21:06, 16F
→
04/11 21:07, , 17F
04/11 21:07, 17F
→
04/11 21:07, , 18F
04/11 21:07, 18F
→
04/12 00:41, , 19F
04/12 00:41, 19F
推
04/12 03:08, , 20F
04/12 03:08, 20F
推
04/12 07:38, , 21F
04/12 07:38, 21F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章