1. 程式人生 > 其它 >字串和字串函式

字串和字串函式

1.字串字面量(字串常量):用雙引號括起來的內容稱為字串字面量,也叫字串常量。

字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期記憶體在,計時函式被呼叫多次。

用雙引號括起來的內容被視為指向該字串儲存位置的指標。*“hello”中的“hello”類似於一個數組名,表示首元素的地址。

2.字串陣列和初始化

在定義一個字串時,注意最後要用空字元,如果沒有空字元,就不是一個字串,而是一個數組。但計算一個字串的長度時,並不包含這個空字元。

字串以陣列的形式存在,以陣列或指標的形式訪問,更多的是以指標的形式訪問。

字元陣列名和其他陣列名一樣,是該陣列首元素的地址。可以用下列方式建立字串:

指標表示法: char *pr="hello" ;

陣列表示法: char pr[ ]="hello" ;

那char*是不是字串?不一定,只有當他所指的字元陣列結尾有空字元時,它才是字串。

3.陣列和指標的區別

char a[ ]="hello";

const char *b="hello";

兩者的主要區別是:陣列名a是常量,而指標名b是變數。

因此不能改變a的值,可以進行a+1的操作(指向下一個元素的地址),但不能進行a++;的操作。

但b可以如++b,表示指向第二個字元。

字串字面量被視為const資料,這意味著b不能改變它所指向的資料,但仍然可以改變b的值。