c語言怎麼用變數定義來陣列元素個數

2021-08-29 05:17:40 字數 2230 閱讀 3525

1樓:吉祥二進位制

c語言中陣列的維數表示陣列中元素的個數,在常規陣列中維數是必須要指明的,如果沒有指明,則必須在初始化列表中給定初始值,編譯器通過初始化列表來確定陣列的維數。

int a = ;

上面的**雖然沒有指明陣列的維數,但是編譯知道陣列a的維數是4(只有4個元素)。

要實現用變數定義陣列的元素個數即維數,可以使用malloc()和free()來進行動態記憶體分配 。下面是一個使用動態記憶體的示例:

#include

#include

#include

#include

int main()

//初始化記憶體

memset(p, 0x00, sizeof(int) * size);

//釋放記憶體

free(p);

return 0;}

2樓:匿名使用者

如樓上所言,用malloc函式即可.

如下:int *arr = new int[a];//a個整形元素事實上,c99標準已經支援動態陣列.你可以直接int arr[a];(其中a是執行時得到的)

vc6裡面不支援c99標準,所以不能這樣用.許多主流編譯器如gcc都已經支援該用法.

3樓:匿名使用者

int array[a];//這表示定義一個整形 a位 的陣列

4樓:匿名使用者

不能定義動態的陣列

陣列array[ ]括號中間必須是常量

可以定義為巨集定義

#define num 5

int array[num];

這種不會報錯

5樓:西電_小哥

這樣是不行的,你可以定義一個相對大一點的空間,比如int arry(100);保證a<100;

6樓:于于祥祥

int *pn=(int *)calloc(n,sizeof(int));

可得到pn[n]這個陣列

7樓:

不是() 是

int array[a];就對了

c語言怎樣用scanf定義陣列長度,再定義陣列各元素?

8樓:

可以使用記憶體分配函式來實現。

#include

#include

int main()

c語言中使用常量定義陣列元素個數為什麼只能用#define?

9樓:匆匆是路認

c語言中陣列的維數表示陣列中元素的個數,在常規陣列中維數是必須要指明的,如果沒有指明,則必須在初始化列表中給定初始值,編譯器通過初始化列表來確定陣列的維數。

int a = ;

上面的**雖然沒有指明陣列的維數,但是編譯知道陣列a的維數是4(只有4個元素)。

要實現用變數定義陣列的元素個數即維數,可以使用malloc()和free()來進行動態記憶體分配 。下面是一個使用動態記憶體的示例:

#include

#include

#include

#include

int main()

//初始化記憶體

memset(p, 0x00, sizeof(int) * size);

//釋放記憶體

free(p);

return 0;}

10樓:匿名使用者

int by_two[size]會在編譯階段初始化,size的值是在執行階段

取到的,編譯階段是沒有取到值,所以錯了。

define size 8是在編譯階段直接替換,int by_two[size]相當於int by_two[8],所以說可以的。

c語言怎樣用scanf定義陣列長度,再定義陣列各元素?

11樓:匿名使用者

c語言中陣列長度必須是常量。如果你想用不定長陣列,可以事先定義一個比較大的陣列,再用一個變數記錄實際用到的陣列元素數,這樣也可以大致不定長的目的。

12樓:匿名使用者

可以使用記憶體分配函式來實現。

#include

#include

int main()

13樓:匿名使用者

可以進行動態分配空間

c語言怎麼巨集定義2維陣列C語言怎麼巨集定義一個2維陣列

如果要強調是二維陣列,這樣也許更合適些 c c code?define m 80 define n 100 define array a,m,n a m n char array 1 例如 define m 80 define n 100 define array a,m,n a m n char ...

c語言如何定義字串陣列C語言如何定義字串陣列

c語言字串陣列中的每一個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為 陣列名 下標 其中...

用陣列定義的變數和指標定義的變數名長度不同

sizeof x 看上去像函式,實際上 sizeof 不是函式,它是 c c 語言裡的 運算子 這是理解 sizeof 的關鍵。按 sizeof 的規定,操作物件 x 可以是 變數 型別,也可以是 變數名。sizeof 計算結果 得到 這個 變數 或 這種型別 佔用了 多少 個 位元組 的記憶體。例...