存放字元量的陣列
#include
void
print_str
(char str)
printf
("\n");
}void
copy_str
(char str1,
char str2)
str2[i]
='\0';}
intmain()
// *(string2+i) = '\0';
// printf("string1 = %s\n",string1);
// printf("string2 = %s\n",string2);
print_str
(string1)
;print_str
(string2)
;return0;
}
字元指標指向的是乙個字串常量的首位址,即指向字串的首位址
靜態區字串不可修改
#include
void
print_str
(char
*str)
void
copy_str
(char
*str1,
char
*str2)
// *to = '\0';
/* while((*to = *from)!='\0)
*/while
(*to++
=*from++)}
intmain()
字元陣列由若干個元素組成,每個元素放乙個字元,字元指標變數中存放的是位址(字串第乙個字元的位址),絕不是將字串放到字元指標變數中。
賦值方式
對字元陣列只能對各個元素賦值,不能用以下辦法對字元陣列賦值
char str[20]; str = "hello world";
對字元指標變數則可,
char *a; a = "hello world"
,賦給a的是字串第乙個元素的位址定義乙個字元陣列,編譯時為它分配記憶體單元,他有確定的位址,定義乙個字元指標時,給指標變數分配記憶體位址。
上例中
*string3+5 = hello11
,∗string
3+
5*string3+5
∗strin
g3+5
將字元指標首位址向後移,輸出字串
字元陣列與字元指標
10.4 指標與字串 10.4.1 字元陣列與字元指標 在第八章中我們已經詳細討論了字元陣列與字串,字元指標也可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首...
字元指標與字元陣列
1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...
字元陣列與字元指標
節選了一些有價值和易錯的部分。char str this is a string.char string this is a string.字元指標str與字元陣列string的區別是 str是乙個變數,可以改變str使它指向不同的字串 但不能改變str所指的字串常量 string是乙個陣列,可以改...