看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c++ 問題(Question): 多維陣列中 如果某一維是靜態其他是動態 要怎麼寫? 程式碼(Code):(請善用置底文網頁, 記得排版) 字元陣列是這樣寫 #include<iostream> using namespace std; int main(){ char s[][7]={{'d','o','g','\0'}, {'r','a','b','b','i','t','\0'}, {'c','a','t','\0'}}; cout<<s[1]; system("pause"); return 0; } 動態陣列是這樣寫 #include<iostream> using namespace std; int main(){ char**s; s=new char*[3]; s[0]=new char[4]; s[0][0]='d'; s[0][1]='o'; s[0][2]='g'; s[0][3]='\0'; s[1]=new char[7]; s[1][0]='r'; s[1][1]='a'; s[1][2]='b'; s[1][3]='b'; s[1][4]='i'; s[1][5]='t'; s[1][6]='\0'; s[2]=new char[4]; s[2][0]='c'; s[2][1]='a'; s[2][2]='t'; s[2][3]='\0'; cout<<s[1]; system("pause"); return 0; } 前一維靜態後一維動態 #include<iostream> using namespace std; int main(){ char *s[3]; s[0]=new char[4]; s[0][0]='d'; s[0][1]='o'; s[0][2]='g'; s[0][3]='\0'; s[1]=new char[7]; s[1][0]='r'; s[1][1]='a'; s[1][2]='b'; s[1][3]='b'; s[1][4]='i'; s[1][5]='t'; s[1][6]='\0'; s[2]=new char[4]; s[2][0]='c'; s[2][1]='a'; s[2][2]='t'; s[2][3]='\0'; cout<<s[1]; system("pause"); return 0; } 但是我是要前一維動態後一維靜態啊 (不知道動物數量 但確定他們的名字都在7字以內) 這樣是不是沒辦法做到呢? -- ◤ __ \__◢◤◢◤ ψhirabbitt ◤ ◢███◣ ◢███◣ 我不是m █████ █████ 我不是s ██ ███ 是溫柔 ██╱╲ ◥█████◣● 是傲嬌╱╱ ◥████ ˇ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.91
Yshuan:都c++了 不考慮string class嗎^^? 01/13 17:04
tropical72:我也推 string, 如果真的要這麼做的話.. 01/13 17:33
tropical72:http://paste.plurk.com/show/351617/ 沒必要這麼麻煩 01/13 17:34
tropical72:(少了 delete 自己補上去) 01/13 17:36
hirabbitt:喔喔 感謝^^/ 01/14 10:45