[問題] 新手請教雙重指標的問題

看板C_and_CPP (C/C++)作者 (吃香蕉的猴子)時間14年前 (2011/09/16 13:23), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) gcc 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): struct namelist{ char **name; int name_num; }*list; 我想要把list中的char** name當作二維陣列使用 想請問要怎麼去存取list中的name陣列? list->(*name)="Tom"; list->(*(name+1))="Mary"; list->(*(name+2))="John"; 類似這樣操作嗎? 如果沒有用structure的話 這樣就可以作存取的動作了 *name="Tom"; *(name+1)="Mary"; *(name+2)="John"; printf("%s\n",*name); printf("%s\n",*(name+1)); printf("%s\n",*(name+2)); 但是放進struct中頭昏不瞭解要怎麼使用了 想請問版上的大大我該怎麼作? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.203.74

09/16 13:36, , 1F
你可以把你想做的事先寫成一段完整的code再來幫你挑錯
09/16 13:36, 1F

09/16 13:36, , 2F
這樣看不太出來你想要幹嘛
09/16 13:36, 2F

09/16 13:55, , 3F
至於指標的用法是*(list->name), *(list->name+1)
09/16 13:55, 3F

09/16 13:55, , 4F
你不會用的話何不直接寫list->name[0], list->name[1]比較快
09/16 13:55, 4F

09/16 13:56, , 5F
假設記憶體都有配好 *(list->name+i) 就是第i個char*
09/16 13:56, 5F

09/16 14:02, , 6F
哦哦哦 了解了 感謝解答
09/16 14:02, 6F
文章代碼(AID): #1ESjqzuL (C_and_CPP)
文章代碼(AID): #1ESjqzuL (C_and_CPP)