當前位置:聚美館>智慧生活>心理>

C語言如何定義未知數

心理 閱讀(1.06W)
C語言如何定義未知數

C語言在數組個數未知的情況下,根據應用情況不同,有三種方式。

1,數組元素總數未知,但是需要存儲的內容是已知的。其實這是一種變相的已知個數,只是編程者不去計算總個數,把這個工作交給系統來做。這時可以透過數組個數留空,顯式初始化數組進行聲明。比如char s[] = "this is a test string"就是初始化了這樣一個數組s,其空間個數隱式的由初始化字元串決定。

2,數組元素總數未知,但最大規模已知。比如不知道數組的總個數,但是確定不會超過100個,那麼就可以定義一個100個元素的數組,供存儲調用。

3,動態分配數組。透過malloc函數,可以動態的分配數組,然後記錄下當前分配的數組元素個數,並使用該數組。當數組空間不足時,可以透過realloc函數,重新分配空間,擴大數組元素個數。比如int size = 100int *p = (int *)malloc(sizeof(int) * 100) // 初始化分配100個元素空間。用size儲存當前數組規模。p = realloc(sizeof(int)*(size + 100), p)//當空間不足時,增加100個元素。size+=100//需要注意的是,必須同步維護size的大小,否則會出錯。

用malloc函數。。。。比如你要申請int型的未知個數數組。可以以下程序#include<stdio.h>#include<stdlib.h>main(){int *pint nprintf("請輸入錄入個數N:n")scanf("%d",&n)p = (int *)malloc(n*sizeof(int))//然後把*p當作數組指針用就可以了。。~~~~}