當前位置:首頁 » 編程語言 » c語言初始化數組

c語言初始化數組

發布時間: 2022-01-09 16:52:20

c語言,結構體數組怎麼初始化

對於數組元素很多的初始化可以使用初始化列表方法。在c語言中用於進行初始化的程序結構則稱為初始化器或初始化列表。

1、初始化器

初始化器是聲明器的可選部分,它由一個'='以及其後的一個表達式(或含有多個以','隔開的帶圓括弧表達式的單一列表)所組成。後面這一列表有時也被稱為「初始化(器)列表」(initializer list)或」初始化列表」(initialization list)。

例:

public class Curry

{public string MainIngredient { get; set; }

public string Style { get; set; }

public int Spiciness { get; set; }}

2、初始化列表

一個類/結構的構造函數可以在定義中於構造函數體前包含一個初始化列表,用以給類/結構的元素賦初值。

例:

class foo

{public:

foo(string s, int i):name(s), id(i){} ; // 初始化列表

private:

string name ;int id ;};

(1)c語言初始化數組擴展閱讀

在程序里,數據初始化也可能在沒有由明確的語法來實現的情況下進行。例如說,如果一個靜態變數在沒有初始化(即未指定初值)的情況下被聲明,則:對於原生數據類型:以對應類型的零值進行初始化;對於類中的靜態對象:由其默認的構造函數來進行初始化。

每一個初始化部分裡面的代碼在程序運行後,或庫的begin-end塊運行之前。delphi使用對單元相關樹的深度優先遍歷來運行初始化部分。換句話說,就只在一個單元的初始化代碼運行前,delphi就運行了特他使用的每一個單元的初始化部分。每一個單元僅初始化一次 。

❷ c語言中怎麼把一維數組初始化為全零啊,不用循環

下面3種方法:

1.int arr[10]={0};

如果只對數組的一部分進行初始化,則編譯器將把其他元素設置為0。因此,當只將第一個元素初始化為0時,編譯器會自動將其他元素設為0 (就像前一句說的那樣)。

2.int arr[31]={};

3.用memset函數在程序開始時初始化數組。比如:

int arr[1024];

memset(arr, 0, 1024); //清零

(2)c語言初始化數組擴展閱讀:

memset()函數原型是extern void *memset(void *buffer, int c, int count) buffer:為指針或是數組,c:是賦給buffer的值,count:是buffer的長度。

函數解釋:將s中當前位置後面的n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。

memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法 ,它通常為新申請的內存做初始化工作。

❸ C語言字元數組如何初始化

1、直接逐個初始化字元數組:
字元數組的初始化,最容易理解的方式就是逐個字元賦給數組中各元素。
char str[10]={ 'I',' ','a','m',' ',『h』,'a','p','p','y'};
注意:如果花括弧中提供的字元個數大於數組長度,則按語法錯誤處理;若小於數組長度,則只將這些字元數組中前面那些元素,其餘的元素自動定為空字元(即'\0'
)。
2、用字元串常量來初始化字元數組:

在c語言中,將字元串作為字元數組來處理。因此可以使用字元串來初始化字元數組。
char str[]={"I am happy"};
也可以省略花括弧。
char str[]="I am happy";
但是,上述這種字元數組的整體賦值只能在字元數組初始化時使用,不能用於字元數組的賦值,字元數組的賦值只能對其元素一一賦值,下面的賦值方法是錯誤的。
char str[];
str="I am happy";//錯誤,字元數組的賦值只能按元素一一賦值

❹ C語言之一維數組的初始化

靜態變數就是退出函數也不會釋放內存空間的變數,他一直作用到程序結束,
每一次運算時,靜態變數使用最近一次保留的值。
不加static其實就是默認auto int a;這是自動變數,退出函數時釋放內存空間,下一次使用該變數會重新分配空間,從新定義存儲值。

❺ c語言數組定義了數值之後可以重新初始化嗎

不可以。
二維數組如果只寫一個下標,代表一行的起始地址,不代表具體元素。
那裡可是這樣寫一維,是因為字元串的操作函數正好要的是地址。

❻ 簡單的c語言數組初始化

一般對數組初始化可以用以下方法實現:
1、在定義數組時對數組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經過上面的定義和初始化後,a[0]=0,a[1]=1,…,a[9]=9。
2、初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數組有10個元素,但只對其中前5個元素賦了初值,後5個元素初值為0。
3、如果想使一個數組的元素值全部為0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
不能用:
static int a[10]={0*10};
如果對static型數組不賦初值,系統會對定義的所有數組元素自動賦以0值。
4、在對全部數組元素賦初值時,可以不指定數組長度。

❼ c語言數組初始化

數組的編號是從0開始的,所以當i=2時,score[2]實際是第三個數,前面還有score[0]和score[1]兩個數。

❽ c語言數組初始化問題

初始化
賦值
是不同的概念
希望樓主每天對這兩個概念默念一遍
在任何基礎C編程書中都有介紹這兩個概念的

❾ C語言數組初始化問題

memset(a, 0, sizeof(a))這是庫函數,構成了C語句,要在執行時操作,所以要佔用執行時間。而a[10000]={0}是編譯器完成的,就是說代碼編譯完成後那10000個元素就成為0了,執行的時候裡面的0已經是現成的。但前者可以把10000個元素預置成任何一個合法的值,而後者要初始化成1的就得寫10000個1,那誰也不想干。只有初始化為0時可以a[10000]={0} 這樣寫,如果寫成a[10000]={1}想達到初始化為全1是徒勞的,除了a[0]=1外,其餘的還是0……

❿ c語言如何初始化數組

舉例說明:
第1種定義部分初始化:int a[4]={ 1,2,3,4 };
第2種運行時初始化:int a[4],i; for ( i=0;i<4;i++ ) a[i]=i+1;
第3種運行時手動輸入值初始化:int a[4],i; for ( i=0;i<4;i++ ) scanf("%d",a+i);
第4種讀取文件初始化:
int a[4]; FILE *fp; if ( fp=fopen("Init.dat","rb") ) { fread(a,sizeof(a),1,fp); fclose(fp); }

熱點內容
海康威視存儲卡質量如何 發布:2024-09-19 08:55:35 瀏覽:939
python3默認安裝路徑 發布:2024-09-19 08:50:22 瀏覽:516
環衛視頻拍攝腳本 發布:2024-09-19 08:35:44 瀏覽:418
sqlserveronlinux 發布:2024-09-19 08:16:54 瀏覽:256
編程常數 發布:2024-09-19 08:06:36 瀏覽:952
甘肅高性能邊緣計算伺服器雲空間 發布:2024-09-19 08:06:26 瀏覽:162
win7家庭版ftp 發布:2024-09-19 07:59:06 瀏覽:717
資料庫的優化都有哪些方法 發布:2024-09-19 07:44:43 瀏覽:269
知乎華為編譯器有用嗎 發布:2024-09-19 07:32:20 瀏覽:618
訪問虛擬機磁碟 發布:2024-09-19 07:28:13 瀏覽:670