作者upo (我是帥哥! 噗嗤~)
看板C_and_CPP
標題[問題] 指標陣列的處理
時間Sun Mar 22 11:08:45 2009
1. int main(int argc,char*argv[]){
2. char *string[argc];
3. int i;
4. for(i=0;i<argc-1;i++)
5. strcpy(string[i],argv[i+1]);
6. }
想請問各位
這段程式碼有問題嗎??
因為我執行的時候一直出現segmentation fault
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.239.77
1F:推 stonehomelaa:置底十誡 03/22 11:10
2F:→ bombilla:4、5行多唸個幾次就會有感覺了~~如果還是感覺不出來的話 03/22 11:11
3F:→ james732:第二行就錯了啊...陣列不要用 [argc] 這樣去宣告吧 03/22 11:12
4F:→ bombilla:就在strcpy前print一下string[i]和argv[i+1]的值,就會有 03/22 11:12
5F:→ sunneo:那就為string配置應該要有的空間 03/22 11:12
6F:→ upo:我不太懂耶,我自己推導的過程,我覺得不會超出我宣告範圍呀 03/22 11:22
7F:→ upo:我嘗試錯誤的過程中,我覺得問題應該是在第五行 03/22 11:27
8F:→ upo:對了,我用的是GNU C的library 03/22 11:28
9F:→ Cloud:上面推文就講說沒配置string記憶體...QQ 03/22 11:32
10F:→ upo:在下不才,請問配置string記憶體是什麼意思呢?? 03/22 11:52
11F:→ akasan:string[i]的記憶體哪裡來? 03/22 11:59
12F:→ upo:所以還要malloc的意思嗎? 03/22 12:03
13F:推 stonehomelaa:置底十誡就有寫了 別自己悶著頭"推導" 03/22 13:07
14F:→ stonehomelaa:觀念錯誤 想上一輩子也不會正確的 03/22 13:07