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...