字元指標和字元陣列

2022-08-20 19:09:11 字數 1137 閱讀 9987

2023年12月19日17:12:10

字元指標和字元陣列的整理

1.字元陣列是由若干個元素組成,每個元素中存放的是乙個字元,而字元指標變數中存放的是第乙個字元的位址

2.char * a;a = "i love china";指標變數可以賦值,但是陣列名不可以這樣賦值。

char a[12]; a[0]='i';合法的。 a = "i love china";//不合法!!!

3.char *p = "i love china";//定義指標變數p,並且指向第乙個元素i的位址。

等價於:char * a;a = "i love china!";

但是陣列:

char str[14]="i love china!";

不等價於char str[14];str="i love china"; //報錯!!!!

4.字元陣列分配若干個儲存單元,但是指標變數值分配乙個儲存單元。

5.指標變數的值是可以改變的,而陣列名代表乙個固定的值(陣列首元素的位址),不能改變。

eg: char *a = "i love china";

a = a+7;//正確,指向c的位址

char str=;

str = str+7;//報錯!!!

6.字元陣列中的各元素的值是可以改變的(可以對他們再賦值),但字元指標變數指向的字串常量中的

內容是不可以被取代的(不能再對它進行賦值)。

char a ="house";

char * b="house";

a[2] = 'r';//合法,r取代a陣列元素中a[2]的原值u

b[2]='r';//非法,字串常量是不能改變的

7.用指標變數指向的乙個格式字串,可以用它代替printf函式中的格式字串。

char * format;

format = "a = %d,b=%f\n";//等價於:char format="a=%d,b=%f\n";

printf("format,a,b");

注意:定義陣列時初始化或逐個對元素賦值,而不能用賦值語句對陣列整體賦值

eg:char format;

format="a=%d,b=%d\n";

字元陣列和字元指標

字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元。char str abcd char str abcd 字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元 char str abcd char str abcd 上面這兩跳複製語句很相似,其實根本就不是一碼事。對於兩個 abcd ...

字元指標和字元陣列

1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...

字元陣列和字元指標

1.在函式getmem棧內定義個陣列,將位址return給main函式的指標str eg char p hello world char getmemory void char p hello world return p void test void char str null str getme...