android 陣列賦值字串 c 陣列使用

2021-10-13 23:34:10 字數 1154 閱讀 4874

前言:陣列是我們儲存資料最常用的資料結構,如通訊中傳送和接收大量16進製制資料;儲存需要處理的時序資料等。陣列的型別是多種多樣的,如16進製制型別,int型別,float或double型別(按照資料最大值範圍還可加字首short和long),字串型別。陣列也需要初始化為零或者其他,否則演算法可能出錯。有時也需要我們新建乙個動態變化長度的陣列。

基礎1:新建乙個一維陣列

定義的一般形式為:型別 陣列名[常量表示式];

例子:float num[100];

*不允許對陣列的大小做動態定義,常量表示式不可以包含變數。

*陣列線性儲存,下標從0開始,因此使用時是num[0],num[1],……等方式。

*陣列定義不初始化會隨機賦值,初始化為0的方法,float num[100]=。或者memset(num,0,sizeof(num));這樣可以初始化為任意的數,不僅是0。memset在標頭檔案string.h裡, 據說這樣最快,我後期會測試一次。 ok,我更正一下,memset只對char型別有效,難怪在string.h裡面。

從後續的測試結果來看,對於初始化為0的方法,直接定義時初始化和使用memset函式初始化效率差不多,而使用迴圈則速度差距非常大,大概有10倍的差距吧!所以盡量用記憶體操作的方式初始化。

基礎2:新建乙個二維陣列

定義的一般形式為:型別 陣列名[常量表示式][常量表示式];

例子:float num[100][100];

*資料的儲存形式,a[0][0]->a[0][1]->a[0][2]->……->a[1][0]->a[1][1]->……

*賦初始值,int a[3][4]=,,};等號右邊每乙個花括號內的花括號都代表一行,按照順序賦值,其餘賦值為0.

基礎3:新建乙個字元陣列(字元陣列和字串是不一樣的概念)

定義的一般形式為:char ch[6];

ps: 這裡解釋一下字串,字串是雙引號括起來的字串行,約定字串的末尾以轉義字元"0"作為結束標誌。

使用字串初始化:char ch[5]="abcd";

*乙個長度固定的字元陣列可以存放不同長度的字串。但由於字串末尾有乙個結束字元,所以得注意字元數實際長度是雙引號內字元+1.

字串字元陣列的賦值

字元陣列的定義與初始化 char str 10 如果說提供的字元的個數大於陣列的長度,就按語法錯誤處理,如果小於陣列的長度,不夠的位置用空字元補全 0 字元陣列與字串 1 c 語言中將字串當做字元陣列來處理 字串的結束標誌是 0 而前面的所有字元組成字串,不算 0 2 對於字串常量的話,系統會自動在...

字串賦值到陣列

c語言 strcpy 函式用於對字串進行複製 拷貝 標頭檔案 string.h char strcpy char strdestination,const char strsource 引數說明 strcpy 會把 strsource 指向的字串複製到 strdestination。必須保證 str...

c語言字串,字串陣列的賦值使用問題

用來存放字元的陣列稱為字元陣列,例如 char a 10 一維字元陣列 char b 5 10 二維字元陣列 char c 20 給部分陣列元素賦值 char d 對全體元素賦值時可以省去長度 以下均等效 const u8 text buffer const char text buffer1 co...