學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

數(shù)組在c語言中是什么

時(shí)間: 歐東艷656 分享

  在C語言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類別。

  關(guān)于C語言中數(shù)組的定義

  如果在參數(shù)表中,int [],實(shí)際會(huì)被轉(zhuǎn)換成int *。不信你可以試試這個(gè)程序:#include void f(int b[10]){ printf("%d\n",sizeof(b));}void main(){ int a[10]; printf("%d\n",sizeof(a)); f(a);}至于為什么,就是為了防止傳遞數(shù)組,C認(rèn)為有一個(gè)原始的,就操作它好了,如果你覺得要另立副本,就自己新分配內(nèi)存,或者用自己auto分配的內(nèi)存,將內(nèi)容復(fù)制過來。當(dāng)然C++的今天,你可以用引用或者對(duì)象復(fù)制,來強(qiáng)行真正去傳整個(gè)數(shù)組。不能說簡(jiǎn)單類型傳值,數(shù)組只傳首地址指針就不好,現(xiàn)在很多語言還都傳引用,但是真正需要副本時(shí),要想辦法,否則可能出現(xiàn)功能問題。 a[]是一個(gè)指針調(diào)用的時(shí)候arry也是傳遞指針的C里數(shù)組可以用指針替代 是數(shù)組頭指針 一樣的,數(shù)組在做函數(shù)參數(shù)時(shí),傳遞給函數(shù)的都是數(shù)組的首指針,哪怕你的函數(shù)這樣寫:void swp(int* p){}在調(diào)用的時(shí)候swp(array)也是。

  在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名 。


C語言數(shù)組

  在C語言中,一維數(shù)組的定義方式: 類型說明符 數(shù)組名[元素個(gè)數(shù)] 其中,類型名確定所有元素的數(shù)據(jù)類型,元素個(gè)數(shù)給定數(shù)組要包含的變量個(gè)數(shù),它可以使用表達(dá)式形式,但該表達(dá)式中只能出現(xiàn)變量常量和運(yùn)算符。 常用的類型:char ,int ,long .float,double. 數(shù)組元素的一般表示形式是: 數(shù)組名[下標(biāo)] 其中,下標(biāo)可以使用表達(dá)式形式,但必須是整型而且有確定的值,取值范圍是0~元素個(gè)數(shù)-1. 注意:引用數(shù)組元素時(shí)不應(yīng)使用超范圍的下標(biāo),因?yàn)閷?duì)這種情況編譯時(shí)系統(tǒng)并不報(bào)錯(cuò),所以編寫程序時(shí)要格外注意。

  C語言中定義數(shù)組時(shí),前面的static、auto、extern三種存儲(chǔ)類。

  C語言中提供了存儲(chǔ)說明符auto,register,extern,static說明的四種存儲(chǔ)類別。四種存儲(chǔ)類別說明符有兩種存儲(chǔ)期:自動(dòng)存儲(chǔ)期和靜態(tài)存儲(chǔ)期。其中auto和register對(duì)應(yīng)自動(dòng)存儲(chǔ)期。具有自動(dòng)存儲(chǔ)期的變量在進(jìn)入聲明該變量的程序塊是被建立,它在該程序塊活動(dòng)時(shí)存在,退出該程序塊時(shí)撤銷。 在函數(shù)內(nèi)部定義的變量成為局部變量。在某些C語言教材中,局部變量稱為自動(dòng)變量,這就與使用可選關(guān)鍵字a u t o定義局部變量這一作法保持一致。局部變量?jī)H由其被定義的模塊內(nèi)部的語句所訪問。換言之,局部變量在自己的代碼模塊之外是不可知的。切記:模塊以左花 括號(hào)開始,以右花括號(hào)結(jié)束。 對(duì)于局部變量,要了解的最重要的東西是:它們僅存在于。

  C語言中數(shù)組定義strftimes[15] 和 strftimes[14+1]的區(qū)別?

  這個(gè)沒有區(qū)別,14+1在編譯階段就會(huì)被求出,用15代替的,所以完全沒有區(qū)別有什么好處的話,硬要說的話,比如定義字符數(shù)組存儲(chǔ)字符串時(shí),用類似char str[14+1];這樣的形式比較容易理解為該數(shù)組最大允許的字符長(zhǎng)度為14個(gè)(因?yàn)檫€要一個(gè)字符串結(jié)束符

數(shù)組在c語言中是什么

時(shí)間: 歐東艷656 分享

  在C語言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類別。

  關(guān)于C語言中數(shù)組的定義

  如果在參數(shù)表中,int [],實(shí)際會(huì)被轉(zhuǎn)換成int *。不信你可以試試這個(gè)程序:#include void f(int b[10]){ printf("%d\n",sizeof(b));}void main(){ int a[10]; printf("%d\n",sizeof(a)); f(a);}至于為什么,就是為了防止傳遞數(shù)組,C認(rèn)為有一個(gè)原始的,就操作它好了,如果你覺得要另立副本,就自己新分配內(nèi)存,或者用自己auto分配的內(nèi)存,將內(nèi)容復(fù)制過來。當(dāng)然C++的今天,你可以用引用或者對(duì)象復(fù)制,來強(qiáng)行真正去傳整個(gè)數(shù)組。不能說簡(jiǎn)單類型傳值,數(shù)組只傳首地址指針就不好,現(xiàn)在很多語言還都傳引用,但是真正需要副本時(shí),要想辦法,否則可能出現(xiàn)功能問題。 a[]是一個(gè)指針調(diào)用的時(shí)候arry也是傳遞指針的C里數(shù)組可以用指針替代 是數(shù)組頭指針 一樣的,數(shù)組在做函數(shù)參數(shù)時(shí),傳遞給函數(shù)的都是數(shù)組的首指針,哪怕你的函數(shù)這樣寫:void swp(int* p){}在調(diào)用的時(shí)候swp(array)也是。

  在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名 。


C語言數(shù)組

  在C語言中,一維數(shù)組的定義方式: 類型說明符 數(shù)組名[元素個(gè)數(shù)] 其中,類型名確定所有元素的數(shù)據(jù)類型,元素個(gè)數(shù)給定數(shù)組要包含的變量個(gè)數(shù),它可以使用表達(dá)式形式,但該表達(dá)式中只能出現(xiàn)變量常量和運(yùn)算符。 常用的類型:char ,int ,long .float,double. 數(shù)組元素的一般表示形式是: 數(shù)組名[下標(biāo)] 其中,下標(biāo)可以使用表達(dá)式形式,但必須是整型而且有確定的值,取值范圍是0~元素個(gè)數(shù)-1. 注意:引用數(shù)組元素時(shí)不應(yīng)使用超范圍的下標(biāo),因?yàn)閷?duì)這種情況編譯時(shí)系統(tǒng)并不報(bào)錯(cuò),所以編寫程序時(shí)要格外注意。

  C語言中定義數(shù)組時(shí),前面的static、auto、extern三種存儲(chǔ)類。

  C語言中提供了存儲(chǔ)說明符auto,register,extern,static說明的四種存儲(chǔ)類別。四種存儲(chǔ)類別說明符有兩種存儲(chǔ)期:自動(dòng)存儲(chǔ)期和靜態(tài)存儲(chǔ)期。其中auto和register對(duì)應(yīng)自動(dòng)存儲(chǔ)期。具有自動(dòng)存儲(chǔ)期的變量在進(jìn)入聲明該變量的程序塊是被建立,它在該程序塊活動(dòng)時(shí)存在,退出該程序塊時(shí)撤銷。 在函數(shù)內(nèi)部定義的變量成為局部變量。在某些C語言教材中,局部變量稱為自動(dòng)變量,這就與使用可選關(guān)鍵字a u t o定義局部變量這一作法保持一致。局部變量?jī)H由其被定義的模塊內(nèi)部的語句所訪問。換言之,局部變量在自己的代碼模塊之外是不可知的。切記:模塊以左花 括號(hào)開始,以右花括號(hào)結(jié)束。 對(duì)于局部變量,要了解的最重要的東西是:它們僅存在于。

  C語言中數(shù)組定義strftimes[15] 和 strftimes[14+1]的區(qū)別?

  這個(gè)沒有區(qū)別,14+1在編譯階段就會(huì)被求出,用15代替的,所以完全沒有區(qū)別有什么好處的話,硬要說的話,比如定義字符數(shù)組存儲(chǔ)字符串時(shí),用類似char str[14+1];這樣的形式比較容易理解為該數(shù)組最大允許的字符長(zhǎng)度為14個(gè)(因?yàn)檫€要一個(gè)字符串結(jié)束符

的空間) 但是實(shí)際上,沒什么意思,用多了的話,根本不需要這種提示的 沒有任何區(qū)別,純屬個(gè)人習(xí)慣..。

  在C語言中,數(shù)組定義時(shí)的下標(biāo)不能用變量表示(即使它已。

  在編譯的時(shí)候,數(shù)組需要一個(gè)指定的大小。n必須是常數(shù),而你說的賦值在編譯的時(shí)候編譯器并不知道n到底是多少,運(yùn)行時(shí)候才知道,所以編譯不通過。若要?jiǎng)討B(tài)開辟內(nèi)存,可用malloc,用完之后用free釋放即可。 C語言分配內(nèi)存的方式有兩種,一種是在棧里分配,一種是在堆里分配。在函數(shù)內(nèi)部定義局部變量或數(shù)組,都是在棧里分配的。這類變。 一句話,數(shù)組在最初初始化的時(shí)候需要定長(zhǎng),如果真想隨意改變數(shù)組的長(zhǎng)度可以使用指針來完成例如:int *p,n,i;cin>>n;p=newhexun1int[n];for(。 數(shù)組定義時(shí)[ ] 里面的那個(gè)數(shù)不是下標(biāo)hexun3,而是指定數(shù)組大小的一個(gè)常數(shù),用來指定為數(shù)組分配空間,數(shù)組引用時(shí)[ ] 里面的才叫下標(biāo),數(shù)組。 C語言不支持,這就是c語言,只能用常數(shù)如果是C++就支持。

  C語言中有如下數(shù)組定義,則arry[2]的值為(

  你是不是想問這個(gè)? C語言中有如下數(shù)組定義,則arry[2]的值為() int arry[5]={1,2,3,4,5}; a) 2 b) 3 c) 4 d)0 arry[0]=1 arry[1]=2 arry[2]=3 arry[3]=4 arry[4]=5 題目不全。

  C語言中數(shù)組怎樣定義,大小超過100000

  定義成全局變量,或者使用鏈表。

  在c語言中數(shù)組定義的是相同類型,不連續(xù)的空間是什么意思_。

  前一個(gè)元素加1就是后一個(gè)元素,是一個(gè)連續(xù)的內(nèi)存空間,他們的地址之間不一定是連續(xù)的(除非你自己分配),如果同是定義多個(gè)數(shù)組一個(gè)數(shù)組定義一般分配的元素地址是連續(xù)的。

243445