您好,登錄后才能下訂單哦!
1 c語言中,char* 代表 字符指針類型,當其指向一個字符串的第一個元素時,它就可以代表這個字符串了
2 示例
#include<stdio.h>
int main(){
char* str = "learn c";
printf("%s\n", str);
getchar();
return 0;
}
/*運行結果是
learn c
*/
3 分析
在char* str="learn c";中,"learn c"是長度為8的字符數組常量,其最后一個元素是'\0',而這句代碼執行的結果是將str指向了"learn c"的第一個字符'l',str后面的連續內存依次存放'e','a','r','n',' ','c','\0'
4 擴展
c語言中的字符串是用字符數組來表示的,只是c語言規定了一個字符串結束標志,即字符'\0',也就是遇到字符'\0'時,這個字符串就結束了
5 關于 * 和 & 的謎題
假設有一個 int 類型的變量 a,pa 是指向它的指針,那么*&a和&*pa分別是什么意思呢?
*&a可以理解為*(&a),&a表示取變量 a 的地址(等價于 pa),*(&a)表示取這個地址上的數據(等價于 *pa),繞來繞去,又回到了原點,*&a仍然等價于 a。
&*pa可以理解為&(*pa),*pa表示取得 pa 指向的數據(等價于 a),&(*pa)表示數據的地址(等價于 &a),所以&*pa等價于 pa。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。