[問題] realloc的錯誤
剛剛想測試malloc跟realloc這兩個function
先用malloc宣告一個3 int大小的array
如果不夠用的話 再用realloc擴充
但是執行的時候
跑到realloc那行,總是出現Segmentation Fault
請好心人告訴我
問題在哪邊
感謝:)
程式碼如下
#include<stdio.h>
#include<stdlib.h>
int main(){
int *ptr,*newptr;
int size=0,a;
int mem_size=3;
ptr = malloc( sizeof(int)*3 );
do{
scanf("%d",&a);
size++;
if( size>mem_size ){
newptr = realloc( ptr, sizeof(int)*(mem_size+3));
=> 上面這行執行完後出現Segmentation Fault
if( newptr==NULL){ fprintf(stderr,"can't realloc\n"); exit(-1);}
mem_size+=3;
}
ptr = newptr;
ptr[size-1]=a;
}while(a!=-1);
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.248.43
→
04/22 21:48, , 1F
04/22 21:48, 1F
→
04/22 21:49, , 2F
04/22 21:49, 2F
→
04/22 21:50, , 3F
04/22 21:50, 3F
※ 編輯: s007150628 來自: 140.112.248.43 (04/22 21:53)
→
04/22 21:55, , 4F
04/22 21:55, 4F
→
04/22 21:56, , 5F
04/22 21:56, 5F
→
04/22 21:56, , 6F
04/22 21:56, 6F
→
04/22 21:58, , 7F
04/22 21:58, 7F
→
04/22 22:14, , 8F
04/22 22:14, 8F
→
04/22 22:15, , 9F
04/22 22:15, 9F
→
04/22 22:15, , 10F
04/22 22:15, 10F
→
04/22 22:15, , 11F
04/22 22:15, 11F
→
04/22 22:15, , 12F
04/22 22:15, 12F
→
04/22 22:16, , 13F
04/22 22:16, 13F
→
04/22 22:16, , 14F
04/22 22:16, 14F
→
04/22 22:18, , 15F
04/22 22:18, 15F
→
04/22 22:19, , 16F
04/22 22:19, 16F
→
04/22 22:19, , 17F
04/22 22:19, 17F
→
04/22 22:19, , 18F
04/22 22:19, 18F
→
04/22 22:19, , 19F
04/22 22:19, 19F
→
04/22 22:19, , 20F
04/22 22:19, 20F
→
04/22 22:20, , 21F
04/22 22:20, 21F
→
04/22 22:20, , 22F
04/22 22:20, 22F
→
04/22 22:22, , 23F
04/22 22:22, 23F
→
04/22 22:22, , 24F
04/22 22:22, 24F
→
04/22 22:23, , 25F
04/22 22:23, 25F
→
04/22 22:25, , 26F
04/22 22:25, 26F
→
04/22 22:26, , 27F
04/22 22:26, 27F
→
04/22 22:26, , 28F
04/22 22:26, 28F
→
04/22 22:26, , 29F
04/22 22:26, 29F
→
04/22 22:27, , 30F
04/22 22:27, 30F
→
04/22 22:27, , 31F
04/22 22:27, 31F
→
04/22 22:28, , 32F
04/22 22:28, 32F
→
04/22 22:29, , 33F
04/22 22:29, 33F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章