c語(yǔ)言定義數(shù)組能用變量嗎
- 夕逆IT
- 開發(fā)語(yǔ)言
- 2024-11-08
- 1
本篇文章給大家談?wù)刢語(yǔ)言定義數(shù)組能用變量嗎,以及c語(yǔ)言定義數(shù)組能用變量嗎對(duì)應(yīng)的知識(shí)點(diǎn),文章可能有點(diǎn)長(zhǎng),但是希望大家可以閱讀完,增長(zhǎng)自己的知識(shí),最重要的是希望對(duì)各位有所幫...
本篇文章給大家談?wù)刢語(yǔ)言定義數(shù)組能用變量嗎,以及c語(yǔ)言定義數(shù)組能用變量嗎對(duì)應(yīng)的知識(shí)點(diǎn),文章可能有點(diǎn)長(zhǎng),但是希望大家可以閱讀完,增長(zhǎng)自己的知識(shí),最重要的是希望對(duì)各位有所幫助,可以解決了您的問(wèn)題,不要忘了收藏本站喔。
文章目錄:
- 1、如何用變量定義一個(gè)數(shù)組的維數(shù)?
- 2、c語(yǔ)言中可不可以用變量定義數(shù)組的個(gè)數(shù);
- 3、關(guān)于c語(yǔ)言數(shù)組的方括號(hào)中能不能使用變量的問(wèn)題。
如何用變量定義一個(gè)數(shù)組的維數(shù)?
要實(shí)現(xiàn)用變量定義數(shù)組的元素個(gè)數(shù)即維數(shù),可以使用malloc()和free()來(lái)進(jìn)行動(dòng)態(tài)內(nèi)存分配 。
x=ones(1,n)表示x為全0數(shù)組;q=zeros(1,n)表示q為全0數(shù)組;n=length(a)表示獲得數(shù)組a的最大維度。數(shù)組的維數(shù):在MATLAB中,允許標(biāo)量數(shù)據(jù)沿行、列、頁(yè)等方向排列成 ‘長(zhǎng)方體’,而構(gòu)成數(shù)組,而行、列、頁(yè)等排列方向就分別被 稱為行維、列維和頁(yè)維。
維數(shù)n(n-1)/2,給出基:aij=1,aji=-1,其余元素是0的矩陣是一個(gè)反對(duì)稱陣,其中1=i=n,n=ji,這樣的矩陣共n(n-1)/2個(gè),這些矩陣是線性無(wú)關(guān)的(易證),且每一個(gè)反對(duì)稱陣都可以由線性組合給出,因此這是一個(gè)基。
定義數(shù)組設(shè)置維數(shù)時(shí)必須使用常數(shù)。Dim x(i) As Integer,這里面的 i 必須是一個(gè)確定的值,你可以在上文規(guī)定好 Const i = 9,或者直接 Dim x(9) As Integer。而 ubound(x1) 這是一個(gè)變量,不是常量。以為ubound()的結(jié)果隨著x1維數(shù)的變化而變化。
Vb中dim語(yǔ)句的意思是定義一個(gè)固定維數(shù)的數(shù)組,如dim arr。Dim是Dimension的縮寫,在VB中是定義函數(shù)時(shí)用到的,它是變量的聲明;后面加上所需變量的名字。Dim是用于聲明變量并分配存儲(chǔ)空間。在模塊級(jí)別中用 Dim 聲明的變量,對(duì)該模塊中的所有過(guò)程都是可用的。
c語(yǔ)言中可不可以用變量定義數(shù)組的個(gè)數(shù);
C語(yǔ)言中數(shù)組的維數(shù)表示數(shù)組中元素的個(gè)數(shù),在常規(guī)數(shù)組中維數(shù)是必須要指明的,如果沒有指明,則必須在初始化列表中給定初始值,編譯器通過(guò)初始化列表來(lái)確定數(shù)組的維數(shù)。int a[] = {1,2,3,4};上面的代碼雖然沒有指明數(shù)組的維數(shù),但是編譯知道數(shù)組a的維數(shù)是4(只有4個(gè)元素)。
C語(yǔ)言里,所有變量空間都是在程序運(yùn)行之初向的,包括指針,除了一些動(dòng)態(tài)方式如malloc函數(shù)。沒有的空間是不允許讀寫的。那么如果一個(gè)數(shù)組大小是變量定義,則在程序運(yùn)行前不能確定數(shù)組大小,也就無(wú)法,故不允許。
數(shù)組的大小不能用變量表示的,是因?yàn)樵诰幾g連接期間內(nèi)存要按照你制定的長(zhǎng)度給數(shù)組分配相應(yīng)的內(nèi)存空間,如果是變量的話就沒有辦法給它分配了,你可以用符號(hào)常量來(lái)解決,在開頭用:define m 100 define n 100 然后在程序中就可以定義u[m][n]二維數(shù)組了,當(dāng)不一定非要是100,可以是任何一個(gè)正整數(shù)。
不可以,數(shù)組在創(chuàng)建時(shí)長(zhǎng)度已經(jīng)確定了,而且創(chuàng)建后也無(wú)法更改數(shù)組的長(zhǎng)度,樓上說(shuō)的malloc動(dòng)態(tài)的內(nèi)存也是已確定的,你都不能在 不破壞原有數(shù)據(jù)的情況下改變其大小。
字面量屬于常量表達(dá)式,用常量表達(dá)式初始化的const對(duì)象也是常量表達(dá)式。一個(gè)對(duì)象(或表達(dá)式)是不是常量表達(dá)式由它的數(shù)據(jù)類型和初始值共同決定。const int a =1; //常量表達(dá)式 cosnt int b=a+1; //常量表達(dá)式 int c=2; //初始值是字面值常量,當(dāng)c數(shù)據(jù)類型是普通int。
在C語(yǔ)言中使用數(shù)組必須先進(jìn)行定義。一維數(shù)組的定義方式為:類型說(shuō)明符 數(shù)組名 [常量表達(dá)式];其中,類型說(shuō)明符是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。數(shù)組名是用戶定義的數(shù)組標(biāo)識(shí)符。方括號(hào)中的常量表達(dá)式表示數(shù)據(jù)元素的個(gè)數(shù),也稱為數(shù)組的長(zhǎng)度。
關(guān)于c語(yǔ)言數(shù)組的方括號(hào)中能不能使用變量的問(wèn)題。
方括號(hào)里必須是一個(gè)大于零的整數(shù)常量或者常量表達(dá)式。 常量表達(dá)式(const experssion):是指值不會(huì)改變 并且在編譯過(guò)程就能得到計(jì)算結(jié)果的表達(dá)式。字面量屬于常量表達(dá)式,用常量表達(dá)式初始化的const對(duì)象也是常量表達(dá)式。 一個(gè)對(duì)象(或表達(dá)式)是不是常量表達(dá)式由它的數(shù)據(jù)類型和初始值共同決定。
方括號(hào)里必須是一個(gè)大于零的整數(shù)常量或者常量表達(dá)式。常量表達(dá)式(const experssion):是指值不會(huì)改變 并且在編譯過(guò)程就能得到計(jì)算結(jié)果的表達(dá)式。字面量屬于常量表達(dá)式,用常量表達(dá)式初始化的const對(duì)象也是常量表達(dá)式。一個(gè)對(duì)象(或表達(dá)式)是不是常量表達(dá)式由它的數(shù)據(jù)類型和初始值共同決定。
在聲明數(shù)組時(shí),長(zhǎng)度是必須明確的,不能使用變量,因?yàn)閿?shù)組的內(nèi)存分配是在程序運(yùn)行前完成的,而非運(yùn)行時(shí)動(dòng)態(tài)確定。如果對(duì)數(shù)組大小不確定,可以考慮使用動(dòng)態(tài)數(shù)組,如使用動(dòng)態(tài)內(nèi)存分配函數(shù)malloc()。
文章分享結(jié)束,c語(yǔ)言定義數(shù)組能用變量嗎和c語(yǔ)言定義數(shù)組能用變量嗎的答案你都知道了嗎?歡迎再次光臨本站哦!
本文鏈接:http://xinin56.com/kaifa/225143.html