realloc 實現隨使用者輸入自動擴充套件陣列長度(C語言)

Oceanic_Kang發表於2018-09-02

來源:我的部落格站 OceanicKang |《realloc 實現隨使用者輸入自動擴充套件陣列長度(C語言)》

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	int *preal = NULL;
	int num, count = 0;
	
	do {
		printf("請輸入一個整數(-1表示結束):" );
		scanf("%d", &num);
		
		if (num != -1) {
			count++;
			preal = (int *)realloc(preal, count * sizeof(int)); // 申請記憶體,隨count的增加而擴充套件
			if (preal == NULL) { printf("申請記憶體失敗" ); exit(1); }
			preal[count - 1] = num;
		}
		
	} while (num != -1);
	
	free(preal); // 釋放記憶體
	
	return 0;
}

相關文章