C語言不定長陣列及初始化方法- IT閱讀

文章推薦指數: 80 %
投票人數:10人

C語言不定長陣列及初始化方法 ... int arr[256] = {0};. int a[256]={0};並不是把a的所有元素初始化為0,int a[256]={1};也不是把a所有的元素初始化為1. C語言不定長陣列及初始化方法 首頁 HTML CSS JavaScript jQuery Python3 Python2 Java C C++ Go SQL 首頁 HTML Search C語言不定長陣列及初始化方法 軟體程式設計2018-07-19254 今天小編就為大家分享一篇C語言不定長陣列及初始化方法,具有很好的參考價值,希望對大家有所幫助。

一起跟隨小編過來看看吧 C語言不支援不定長陣列,要麼malloc,要麼在動態的指定它的長度 動態陣列不能初始化,可使用memset 1.int*p=(int*)malloc(num); 2.intnum=5; arr[num]; 若使用arr[],則需要在後面對齊進行初始化,來指定長度,否則編譯可以通過,但是預設只有一個單元,超過一個單元的長度,在後面程式的執行中有可能會被沖掉 intarr[]={0};//定義了一個單元的陣列,並不是不定長陣列 最好不用使用arr[]={0}來定義陣列,定義陣列之前應要指定長度 intarr[256]={0}; inta[256]={0};並不是把a的所有元素初始化為0,inta[256]={1};也不是把a所有的元素初始化為1. 陣列可以用一個列值來初始化,例如 intv1[]={1,2,3,4}; charv2[]={'a','b','c',0}; 當陣列定義時沒有指定大小,當初始化採用列表初始化了,那麼陣列的大小由初始化時列表元素個數決定。

所以v1和v2分別為int[4]和char[4]型別。

如果明確指定了陣列大小,當在初始化時指定的元素個數超過這個大小就會產生錯誤。

例如: charv3[2]={'a','b',0};//錯誤:太多的初始化值了 charv3[3]={'a','b',0};//正確 如果初始化時指定的的元素個數比陣列大小少,剩下的元素都回被初始化為0。

例如 intv5[8]={1,2,3,4}; 等價於 intv5[8]={1,2,3,4,0,0,0,0}; 注意沒有如下形式的陣列賦值: voidf() { v4={'c','d',0};//錯誤:不是陣列賦值 } 顧名思義,集合(aggregate)就是多個事物聚集在一起,這個定義包括混合型別的集合:像struct和class等,陣列就是單一型別的集合。

初始化集合往往既冗長又容易出錯,而C++中集合初始化(aggregateinitialization)卻變得很方便而且很安全。

當產生一個集合物件時,要做的只是指定初始值就行了,然後初始化工作就由編譯器去承擔了。

這種指定可以用幾種不同的風格,它取決於正在處理的集合型別。

但不管是哪種情況,指定的初值都要用大括號括起來。

比如一個內部型別的陣列可以這樣定義: inta[5]={1,2,3,4,5}; 如果給出的初始化值多於陣列元素的個數,編譯器就會給出一條出錯資訊。

但如果給的初始化少於資料元素的個數,那將會怎麼樣呢? 例如: intb[6]={0}; 這時,編譯器會把第一個初始化值賦給陣列的第一個元素,然後用0賦給其餘的元素。

注意,如果定義了一個數組而沒有給出一列初始值時,編譯器並不會去做初始化工作。

所以上面的表示式是將一個數組初始化為零的簡潔方法。

以上這篇C語言不定長陣列及初始化方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援itread01.com。

相關文章 C實現不定長陣列的示例 C語言指標與陣列的詳解及區別 C語言結構體陣列詳解及示例程式碼 簡單分析C語言中指標陣列與陣列指標的區別 C語言中二維陣列指標的簡要說明 利用C語言編輯畫圖程式的實現方法(推薦) 利用C語言替換檔案中某一行的方法 C語言中結構體(struct)的幾種初始化方法 C語言求圓周率的簡單實現方法 使用C語言解決字串匹配問題的方法 用C語言操作MySQL資料庫的通用方法 iOS經驗之初始化方法中不該設定self.view的屬性淺析 PythonNumpy陣列的初始化和基本操作 php關聯陣列與索引陣列及其顯示方法 python字串str和位元組陣列相互轉化方法 分類導航 HTML/CSS HTML教程 HTML5教程 CSS教程 CSS3教程 JavaScript JavaScript教程 jQuery教程 Node.js教程 服務端 Python教程 Python3教程 Linux教程 Docker教程 Ruby教程 Java教程 JSP教程 C教程 C++教程 Perl教程 Go教程 PHP教程 正則表達式 資料庫 SQL教程 MySQL教程 PostgreSQL教程 SQLite教程 MongoDB教程 Redis教程 Memcached教程 行動端 IOS教程 Swift教程 Advertisement 三度辭典 Copyright©2016-2021IT閱讀  Itread01.comAllRightsReserved. 0.001291036605835



請為這篇文章評分?