字串 用陣列初始化和用指標初始化方法

2021-08-04 02:20:37 字數 529 閱讀 2956

1、字串陣列初始化

1)用足夠的空間的陣列儲存字母串

const

char example[40] = "so big it is.";

const表示不會更改這個字母串

還有這種:

const

char example[40] =

;

注意最後的空字元』\0』。沒有這個空字元,這就不是乙個字串,而是乙個字元陣列。

2、讓編譯器確定陣列的大小。

省略陣列初始化生命中的大小,編譯器會自動計算陣列的大小。

const

char m2 = "it is fine.";

3、指標表示法建立陣列

const

char * ptr1 = "fine.";

用雙引號括起來的內容是字串常量,且被視為該字串的位址(即字串首地

址),以上即是把字串首位址賦給 字元指標 ptr1

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

const char ptr1 fine.const char ar fine.以上的宣告中,ptr1和ar都是該字串的位址,但這兩種形式並不完全相同。初始化陣列 字串儲存在靜態儲存區。但是,程式在開始執行時才會為該陣列分配內 存 以上面的宣告為例,陣列形式ar 在計算機的記憶體中分配為乙個內含6 ...

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

在c語言中 string 儲存的就是首個字元所在的位址 所以可以把 字串常量 string 賦值給指標 char p p string 但不能把字串常量 直接賦給陣列,需要用到 strcpy。但可以對陣列初始化為 字串,也就是字元陣列 如 char str string 兩種初始化的區別 char ...

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

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