區別處理c語言中char ,char* ,char** ,char *,
char =『h'字元
char* a=「hello world"
char** b=&a;//**b=h,指標的指標
char* arr[10]=;//陣列裡存放指標
1.結尾字串的值為0x00//0
2.空格字串的值為』 『//空格字元
#include #include using namespace std;
int main(int argc,char** argv)
下面總結一下 :
首先說明一下c程式在執行時, 不同的內容或變數分別儲存在什麼地方?
分了幾塊區域分別是, code, constants, global, heap, stack; (記憶體位址從低到高)
其中constants儲存常量(常量值不允許修改), global儲存在所有函式以外定義的全域性變數(全域性變數允許修改), heap是一塊動態記憶體區域(可存放持久化內容, 不會自動釋放記憶體), stack存放函式內的本地變數(函式執行完後本地變數占用的記憶體將自動釋放);
char * a="hello";
注意結尾字串的值為0x00
;指標儲存位置,資料儲存位置
//處理字串陣列 char** a 指向指標的指標b->a->char
//表示a是乙個指標, 這個指標指向的位址儲存的是 char * 型別的資料.
char* a="char**3.1415926";//* a->char
char* * b=&a;//* b-> char*
示意圖
//char* b陣列裡面放的是指標b[char* p]
//表示 b是陣列, 陣列中的元素是指標char*, 指向char型別
char *arr[10] = ;//arr[0]可放10個char型指標,arr[1]可放10個char型指標....
C C 字串常量 字元陣列和字元指標
通常,如果在程式中定義了乙個字串,那麼為了節省記憶體,會把相同的字串儲存到乙個單獨的 相同的位置,此時如果用多個字元指標指向它,那麼指標的值會相同。常量字串位於c c 的文字常量區,在程式結束以後由系統釋放。char p string1 example char p string2 example ...
C C 字元陣列 字元指標和字串常量
c 有兩種處理字串的方式,除了沿用c風格字串,另一種方法是借助用string class庫。字串是一系列儲存在連續記憶體位元組中的字元 每個字元對應乙個位元組 所以可以將字串儲存在字元陣列中。以下四種宣告方式都是字元陣列,但是只有第乙個不是字串,其中無效字元 null character 0 其在機...
C C 中字串與指標 效率
源c include int main 反彙編 5 char string hello world 00401028 mov dword ptr ebp 4 offset string hello world 00422020 源c include int main 反彙編 5 char strin...