[問題] 動態結構陣列如何用指標存取?

看板C_and_CPP作者 (很猛)時間14年前 (2010/03/12 15:15), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 程式碼如下: #include <iostream> struct CandyBar { char name[20]; float weight; int calolie; }; int main() { using namespace std; CandyBar *pt = new CandyBar [3]; //動態配置結構陣列 delete [] pt; system("pause"); return 0; } 書上習題要動態配置結構陣列, 不過沒有使用的方法, 現在,要存取結構成員有問題 我用 pt->name = "chocolate"; 或 pt[0] = "chocolate"; 都無法存取 請問要用甚麼方法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.159.196

03/12 15:19, , 1F
strcpy( pt[0].name, "xxx") ? 完了太久沒寫有點忘了XD
03/12 15:19, 1F

03/12 15:30, , 2F
strncpy( pt[0] -> name, "chocolate", 19 );
03/12 15:30, 2F

03/12 15:31, , 3F
pt[0] -> name[19] = '\0';
03/12 15:31, 3F

03/12 15:34, , 4F
1樓謝啦,你的方法可以,那想初始化要如何使用呢?
03/12 15:34, 4F

03/12 15:36, , 5F
例如我用陣列的話:CandyBar XXX[3]={{"XXX",xxx,xxx},{.
03/12 15:36, 5F

03/12 15:40, , 6F
..},{...}};可以類似這樣初始化嗎?還是必須要一個一個來?
03/12 15:40, 6F

03/12 16:28, , 7F
XD 看錯~
03/12 16:28, 7F

03/12 16:53, , 8F
記得C99有相關的語法, 但是在C++你可以寫一個建構式
03/12 16:53, 8F

03/12 16:53, , 9F

03/12 16:55, , 10F
拍謝, '\n'改成'\0'就正確了
03/12 16:55, 10F

03/12 17:41, , 11F
謝謝l大,建構市士的方法記起來了.
03/12 17:41, 11F
文章代碼(AID): #1BcUeFh6 (C_and_CPP)