討論串[問題] char *str="test"是const字串的問題
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者DarkKiller (System hacked)時間19年前 (2005/11/17 17:37), 編輯資訊
0
0
0
內容預覽:
因為要提供兩種 implement 的方法?前者會被放到 read-only section,後者. 會被放到 stack。. 這是 char.c:. #include <stdio.h>. int main(void). {. char *a1 = "test123456";. char a2[]
(還有1099個字)

推噓2(2推 0噓 1→)留言3則,0人參與, 最新作者cppOrz (cppOrz)時間19年前 (2005/11/18 01:41), 編輯資訊
0
0
0
內容預覽:
這可能請對標準比較熟的人解釋一下,常數或字串常數,在 C/C++ 中. 的實作是編譯器自行決定的。一般為了效率考量,通常是放在 const. data 區段;某些編譯器可能將它放在 overlapping objects 裏,做. 為一種選擇性的優化機制。企圖修改它們,會導致未定義的後果;所. 以雖
(還有425個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者firose (guest)時間19年前 (2005/11/18 15:11), 編輯資訊
0
0
0
內容預覽:
我覺得您的問題可能是誤解了 char str[] = "test" 這句. 它的作法是先在某一塊記憶體 memory_a 中存放這五個字元 't', 'e', 's', 't', '\0'然後再從 stack 找一塊空間 memory_b, 然後把 memory_a 開始的那五個字元拷貝過去. 由於
(還有582個字)
首頁
上一頁
1
下一頁
尾頁