㈠ c語言 a[5] 數組 裡面的5可以用變數來代替嗎如果我要輸入a[]這裡面的值我該怎麼辦
可以用變數的。
㈡ c語言 數組元素能為變數嗎
不能。
第一:你所說的變數沒有定義。
第二:數組已經定義整型a1這些變數不是整型。
第三:數組名與第一個元素是地址常量,是不能被改變的。
宗上所述,你所說的是不能的。
㈢ 關於c語言數組的方括弧中能不能使用變數的問題。
方括弧里必須是一個大於零的整數常量或者常量表達式。
常量表達式(const experssion):是指值不會改變 並且在編譯過程就能得到計算結果的表達式。字面量屬於常量表達式,用常量表達式初始化的const對象也是常量表達式。
一個對象(或表達式)是不是常量表達式由它的數據類型和初始值共同決定。
const int a =1; //常量表達式
cosnt int b=a+1; //常量表達式
int c=2; //初始值是字面值常量,當c數據類型是普通int。
(3)c語言不同數組能用變數嗎擴展閱讀:
1.數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
3.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;(請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。)
4.若不給可初始化的數組賦初值,則全部元素均為0值。
網路-數組
㈣ C語言中數組中的元素可以是變數嗎
當然可以,但是後面一定要對變數賦值
數組里的內容還有數組長度都可以是變數
㈤ C語言的數組可以用變數定義嗎
可以的,C語言肯定是不會考慮的那麼不全面的,你可以網路一下C數組vector的用法,就知道了。
㈥ c語言中可不可以用變數定義數組的個數;
c語言中不可以用變數定義數組的個數。
可以使用mallo函數
mallo函數返回的實際是一個無類型指針,必須在其前面加上指針類型強制轉換才可以使用;
指針自身=(指針類型*)malloc(sizeof(指針類型)*數據數量);
int*p=NULL;
intn=10;
p=(int*)malloc(sizeof(int)*n);
(6)c語言不同數組能用變數嗎擴展閱讀
mallo函數使用注意事項
調用malloc函數時,它沿連接表尋找一個大到足以滿足用戶請求所需要的內存塊。然後,將該內存塊一分為二(一塊的大小與用戶請求的大小相等,另一塊的大小就是剩下的位元組)。接下來,將分配給用戶的那塊內存傳給用戶,並將剩下的那塊(如果有的話)返回到連接表上。
調用free函數時,它將用戶釋放的內存塊連接到空閑鏈上。到最後,空閑鏈會被切成很多的小內存片段,如果這時用戶申請一個大的內存片段,那麼空閑鏈上可能沒有可以滿足用戶要求的片段了。
㈦ c語言中,數組元素可以是變數或表達式嗎
數組元素 可以賦值為變數或表達式。
但實際存儲的只能是最終運算的值。
比如 賦值
a[0]=1+2;
那麼a[0]的值就是3. 無法得知這個3是怎麼計算過來的。
㈧ C語言中可以定義不定長度的數組(即數組長度由變數確定)嗎
不可以,數組在創建時長度已經確定了,而且創建後也無法更改數組的長度,樓上說的malloc動態申請的內存也是已確定的,你都不能在 不破壞原有數據的情況下改變其大小。
那怎麼儲存未知大小的數據呢,在儲存後怎樣能隨意的對其添加、更改、刪除、查找等一系列操作呢?只用簡單的數組肯定不行,需要用到別的數據結構,如鏈表、二叉樹等等,總有一款適合你。在大家學到數據結構與演算法的時候 ,一切難題都將迎刃而解。
最後補充一點,樓上有人說數組的長度不能用變數來確定,這是錯誤的。 C中有 變長數組 的概念呀(c99標准),「變長」的意思就是 可以用變數來指定數組的長度,而數組一旦創建 長度就無法變化了,而且變數必須賦值在先,變長數組才能創建。某些人不能因為無法正確的設置編譯器支持c99標准,而否定了 變長數組 這個用法。
㈨ C語言中數組長度不能用變數定義嗎
1、C語言中不支持。
C++中支持變長數組(你可以自行度娘變長數組和alloca函數),但是因為其實在棧上分配,不被推薦使用。做為解決方案,你可以使用C式的malloc函數或者C++式的new函數來在堆上動態分配內存,這樣長度是完全可以自定的。
2、C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
3、、在數組一章中,曾介紹過數組的長度是預先定義好的, 在整個程序中固定不變。C語言中不允許動態數組類型。例如: int n;scanf("%d",&n);int a[n]; 用變數表示長度,想對數組的大小作動態說明, 這是錯誤的。但是在實際的編程中,往往會發生這種情況, 即所需的內存空間取決於實際輸入的數據,而無法預先確定。對於這種問題, 用數組的辦法很難解決。
4、為了解決上述問題,C語言提供了一些內存管理函數,這些內存管理函數可以按需要動態地分配內存空間, 也可把不再使用的空間回收待用,為有效地利用內存資源提供了手段。 其它文獻中所提到的"動態數組",指的就是利用內存的申請和釋放函數,在程序的運行過程中,根據實際需要指定數組的大小.其本質是一個指向數組的指針變數.常用的內存管理函數有以下三個:分配內存空間函數malloc;分配內存空間函數 calloc;釋放內存空間函數free。
㈩ c語言中可不可以用變數定義數組的個數
數組不可以,但是有變通的方法
intn;
scanf("%d",&n);
int*s;
s=(int*)malloc(sizeof(int)*n);
//相當用定義了一個長度為n的int數組,調用和數組一樣,s[0],s[1].....