[爆卦]sizeof指標陣列是什麼?優點缺點精華區懶人包

為什麼這篇sizeof指標陣列鄉民發文收入到精華區:因為在sizeof指標陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者nana0130 (小那)看板C_and_CPP標題[問題] 指標陣列算size大小時間Sun ...


( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )

遇到的問題: (題意請描述清楚)
怎麼算出char *keytab[]的大小

題目原文:

char *keytab[]={"break","case","char","continue","default","for","if","int"};
char **p=keytab;

please use sizeof operator to decide the number of element of keytab
array and define it as NKEYS.



希望得到的正確結果:
36 因為我想說 break case char continue default for if int
這些字元一共有36個
所以我猜答案是36


程式跑出來的錯誤結果:
32

開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++ Windows

有問題的code: (請善用置底文標色功能)
#include <iostream>//III
using namespace std;

int main()
{
char *keytab[]={"break","case","char","continue","default","for","if","int"};
char **p=keytab;
for (int i=0; i<8 ;i++)
{
cout<<keytab[i]<<endl;
}
int NKEYS;
NKEYS = sizeof(keytab)/sizeof(char);
cout<<NKEYS;
cout<<sizeof(keytab); //32
system("pause");
return 0;
}


補充說明:
我知道 sizeof(keytab); 是算出8個指標 8X4=32的意思
請問要怎麼用sizeof 去算出 一共使用了36個字元呢????

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.115
fragileness:你需要的是strlen吧 05/02 18:10
pico2k:36也是錯的 05/02 18:12
nana0130:可是老師考卷問的是用sizeof去算element of array 05/02 18:21
nana0130:我沒有什麼idea 05/02 18:21
LPH66:你再仔細看清楚老師要問什麼.... 05/02 18:38
fragileness:老師給你的element of array答案是36嗎 05/02 18:39
aecho:sizeof(keytab) / sizeof(char *) 05/02 20:34
aecho:咦?我會錯義了…我比較喜歡上面的錯誤答案 @__@"" 05/02 20:35
charleshu:strlen才是算字元數的,可以用迴圈累計所有字串. 05/02 21:11
avhacker:_countof (vc 上可用) 05/03 13:18
nana0130:沒有答案,我想應該是36吧 ~ 05/03 13:31
james732:請問你為什麼會覺得是36呢?說說你的道理吧 05/03 13:34
nana0130:等一下我把題目打出來 05/03 13:35
※ 編輯: nana0130 來自: 140.116.39.115 (05/03 13:38)
nana0130:我把我的想法,修改在文章內容了>"< 05/03 13:43
nana0130:不曉得是我老闆出錯,還是真的可以用sizeof算???? 05/03 13:43
james732:number of element of keytab => 應該是問有幾個字串? 05/03 13:44
james732:我支持 sizeof(keytab) / sizeof(char *) 這個答案 05/03 13:46
nana0130:是問字串喔???喔~~MY GOD 05/03 13:49
nana0130:我還有一題也不懂....我想貼出來問一下 05/03 13:51
james732:其實對於題意不清楚 最好的方法還是問老師吧 05/03 14:06
nana0130:嗯嗯,我覺得很迷惘~~QQ 好的我去問老師比較快 謝謝大家 05/03 14:22

你可能也想看看

搜尋相關網站