(轉) char s[]字串和char *s字串有什麼差別? @ 大玩家闖天涯的 ...
文章推薦指數: 80 %
AbstractC語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢?Introduction char s[] = "Hello World";char *
關閉廣告
大玩家闖天涯的部落格
跳到主文
歡迎光臨大玩家闖天涯在痞客邦的小天地
部落格全站分類:不設分類
相簿
部落格
留言
名片
Sep07Mon201511:40
(轉)chars[]字串和char*s字串有什麼差別?
AbstractC語言有兩種字串宣告方式chars[]和char*s,兩者有什麼差異呢?Introduction
char s[] = "Hello World";char *s = "Hello World";
皆宣告了s字串,在C-stylestring的函數皆可使用,但兩者背後意義卻不相同。
char s[] = "Hello World";
的s是個chararray,含12個byte(包含結尾\0),"HelloWorld"對s來說是initializer,將字元一個一個地copy進s陣列。
char *s = "Hello World";
的s是一個pointer指向char,由於"HelloWorld"本身就是一個stringliteral,所以s指向"HelloWorld"這個stringliteral的起始記憶體位置。
做個簡單的實驗證明兩者不同
1#include
延伸文章資訊
- 1字元陣列與字串 - OpenHome.cc
字串就是一串文字,在C++ 談到字串的話,一個意義是指字元組成的陣列,最後加上一個空(null)字元 '\0' ,例如底下是個 "hello" 字串: char text[] = {'h', '...
- 2[C語言_ 01] 字元陣列,字串傻傻分不清楚? - Medium
本篇文章會介紹C語言字元陣列和字串的區別,讓大家可以輕鬆玩C語言char[]的字串,那麼廢話不多說,我們就開始撰寫C語言吧! Photo by Fab Lentz on ...
- 3(原創) char s[]字串和char *s字串有什麼差別? (C/C++) (C)
C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢? ... 的s是一個pointer指向char,由於"Hello World"本身就是一個string literal...
- 4第9 堂課- 字串的基礎應用
- 5c/c++中string与char的区别 - CSDN博客
在C语言中,string 是定义一个字符串,存储的是一段如“abcd”的数据,而且最后还有一个结束符'\0'; char 是定义一个字符,存储一个字符,占一个字节。