C初始化字串指標和二維字元陣列

2021-08-04 16:49:35 字數 685 閱讀 3649

char *string = 「hello mooc」; //hello mooc這個字串儲存在常量區,string其實只儲存了字串常量的首位址。

說明:字串指標變數的定義說明與指向字元變數的指標變數說明是相同的。只能按對指標變數的賦值不同來區別。對指向字元變數的指標變數應賦予該字元變數的位址。

當重新賦值時

string = 「i love mooc」; //str儲存的是字串常量i love mooc的首位址

比如:printf(「%c\n」,&(string+4)); //輸出了v

注意:

1)使用字元陣列來儲存的字串是儲存在棧裡的,儲存棧裡面的東西是可讀可寫,所有我們可以改變裡面的字元當把乙個字串常量賦值乙個字元陣列的時候,那麼它會把字串常量中的所有字元都放到字元陣列裡面。

2)使用字元指標來儲存字串,它儲存的是字串的常量位址,常量區是唯讀的,所以我們不可以修改字串中的字元。

char ss[3][10] = ; //三個字串長度為10的二維字串陣列,每個字串長度不足10的補\0

但不可以是這樣char ss[3][10] = ,; //依次類推

定義的時候可以預設行下標,但不能預設列下標。

char s[10] = ; //3行10列,但後面長度不夠就補\0。

ps:借鑑一位博主的,覺得很有必要牢記。

js 二維陣列 字串鍵名 初始化

這兩天做專案時,要通過js傳遞乙個帶有字串鍵名的二維陣列,可是傳遞到後台,卻得到了false,使用了很多種方法都不行,今天特地來介紹一下 js 陣列初始化問題 以及ajax下傳遞帶有字串鍵名的陣列如何操作 一維陣列 一維陣列可以使用數字,字串做建名。var data 不知道個數 var data n...

字串初始化指標和初始化陣列區別

定義指標時,編譯器並不為指標所指向的物件分配空間,它只是分配指標本身的空間,除非在定義時同時賦給指標乙個字串常量進行初始化。在ansi c中,初始化指標時所建立的字串常量被定義為唯讀。如果試圖通過指標修改字串的值,程式就會出現未定義的行為。在有些編譯器中,字串常量被存放在只允許讀取的文字段中,以防止...

C 列表初始化,字串初始化

列表初始化 int a 0 int a 全面應用 int a int a 0 預設初始化 定義變數時,沒有指定初值,則變數被預設初始化。定義函式體外的變數被初始化為0,函式體內部的內建型別變數不被初始化。字串初始化 string s1 string s2 s1 string s2 s1 string...