看板 C_and_CPP 關於我們 聯絡資訊
1. 何謂Reentrant Code ,設計上需注意什麼? 我的回答: 可重入程式,讓多個Process或usres執行時能使用相同的code section,但是 擁有自己單獨的data section。 需注意不得有global or static 變數 請先進們再幫小弟補充... 2. 以下各佔多少byte? char *p[20] ; ==> 應該是 4byte x 20 = 80 byte 吧?? char (*p)[20] ; ==> 傻眼...和上式相同嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.220.236
loveme00835:未看先猜會有人叫你不要問, 自己去編譯試看看 10/10 10:14
wixter:第一個是pointer to char 第二個是 pointer to char [20] 10/10 10:17
wixter:置底文就有啦! 10/10 10:17
loveme00835:陣列跟函式的定義方法比較特殊, 先來看 char *p[20] 10/10 10:22
loveme00835:左邊括起來會比較好幫助理解 → (char*) p[20] 這跟你 10/10 10:22
loveme00835:一般定義陣列的時候意思一樣, p 是一個陣列, 內含20個 10/10 10:23
loveme00835:元素, 每一個元素的型別為 char*(也就是指標to char) 10/10 10:24
loveme00835:不過一個指標的大小會依平台不一樣, char (*p)[20] 10/10 10:25
loveme00835:p 是一個指標, 指向一個陣列, 該陣列有20個元素, 元素 10/10 10:26
loveme00835:型態是 char, 指標的大小都是固定的, 不會因為指到的 10/10 10:27
loveme00835:型態而異 10/10 10:27
stupid0319:char (*p)[20] <從來沒用過,感覺好像自己都不會c++>"< 10/10 10:41
nowar100:怪不得覺得題目似曾相似,原來是別版有問過 Orz 10/10 10:43
nowar100:我不是想潑冷水,不過第一題隨便Goo應該都一堆答案 10/10 10:44
nowar100:2. array of char* 和 pointer to array 你應該就知道了 10/10 10:45
tinlans:其實考 2. 這種問題沒什麼意義,真的很少人這樣寫。 10/10 11:06
tinlans:真的要寫的,等遇到編譯錯誤的時候就自然會去找答案了。 10/10 11:06
tinlans:考 2. 跟考 char (* (*x())[])() 這東西感覺一樣無聊。 10/10 11:07
horngsh:其實2.也要知道比較好. 10/10 11:12
loveme00835:2. 中的 char (*p)[20] 小弟就常用, 需要視情況切換輸 10/10 12:17
loveme00835:入陣列或是輸出陣列, 讓中間處理的程式碼合併時就會用 10/10 12:18
loveme00835:的到, 不過在C++我都會改成物件參考 + ?: 來做 10/10 12:19
tomcallme:所以二是80&4bytes囉? 10/10 14:17
HudsonE:那為何不直接使用 char *p; 就好? 10/10 15:03
purpose:因為 p 是二維陣列 10/10 16:20
purpose:另外如果用 char **p; 則執行 p[1][0]; 取值就會抓錯值 10/10 16:21