RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [C&C++] [問題]C函數如何回傳陣列?函數內如何動態設定陣列大小?   字型大小:||| 
hjw930
銀驢友〔初級〕
等級: 12等級: 12等級: 12


 . 積分: 440
 . 文章: 1103
 . 收花: 3613 支
 . 送花: 1994 支
 . 比例: 0.55
 . 在線: 633 小時
 . 瀏覽: 13723 頁
 . 註冊: 7086
 . 失蹤: 445
#1 : 2008-10-29 05:01 PM     只看本作者 引言回覆

本來是要報名學C
但人數太少沒開成
被介紹去上C++
結果發現不懂C去上C++很慘
只能自己研究
現在遇到一個問體想請教一下


void show(char ca[])
{
     int i=sizeof(ca);
     char c[ i ];
}


我程式寫這樣,結果編譯失敗
錯誤訊息說陣列配置必須是常數
但我這個函數是要根據傳進來的陣列內容再做處理
事先不知道大小,這樣要如何設定??

另外就是
如果我處理完後想把 c 陣列回傳
應該怎麼做才對?
(我把 void 改成 char 結果說無法把 char陣列改成 char)

[hjw930 在  2008-10-29 05:03 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
bonta
銅驢友〔初級〕
等級: 8等級: 8


今日心情

 . 積分: 124
 . 文章: 156
 . 收花: 1012 支
 . 送花: 735 支
 . 比例: 0.73
 . 在線: 4407 小時
 . 瀏覽: 13975 頁
 . 註冊: 6997
 . 失蹤: 2
 . 陣代高中
#2 : 2008-10-29 07:29 PM     只看本作者 引言回覆

用指標

void show(char* array, int count);
void main()
{
   int ca[10];
   show(ca, 10);
}

void show(char* array, int count)
{
     for(int i = 0; i < count; ++i) {
      printf("%c", array);
     }
}

[bonta 在  2008-10-29 07:31 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Dr_Wayne
驢有所悟
等級: 3等級: 3


 . 積分: 10
 . 文章: 40
 . 收花: 63 支
 . 送花: 619 支
 . 比例: 9.83
 . 在線: 980 小時
 . 瀏覽: 1200 頁
 . 註冊: 6841
 . 失蹤: 731
#3 : 2008-10-29 09:41 PM     只看本作者 引言回覆


引用:
hjw930寫到:
本來是要報名學C
但人數太少沒開成
被介紹去上C++
結果發現不懂C去上C++很慘
只能自己研究
現在遇到一個問體想請教一下


C++ 比 C 語言多了 OO 觀念和一些細節上的不同,所以不是你聽懂 C 就聽的懂 C++。 基本語法 C 和 C++ 只有一些細微上的差異。但並不表示 C++ 就是 C 語言的延伸,請把標準 C++ 視為一個新語言


引用:
hjw930

void show(char ca[])
{
     int i=sizeof(ca);
     char c[ i ];
}


我程式寫這樣,結果編譯失敗
錯誤訊息說陣列配置必須是常數
但我這個函數是要根據傳進來的陣列內容再做處理
事先不知道大小,這樣要如何設定??

另外就是
如果我處理完後想把 c 陣列回傳
應該怎麼做才對?
(我把 void 改成 char 結果說無法把 char陣列改成 char)

[hjw930 在  2008-10-29 05:03 PM 作了最後編輯]


C/C++ 處理陣列傳進函數其實只是傳進一個指標,而不是複製整個陣列進去。所以你在函數裡操作的陣列其實就是原來你傳進去的陣列,因此不需要把傳進去的陣列再回傳回去。 等你看到書上講 pointer(指標)這章你就會明白你的問題要如何解決



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
psycho
鐵驢友〔初級〕
等級: 4


 . 積分: 42
 . 文章: 137
 . 收花: 353 支
 . 送花: 29 支
 . 比例: 0.08
 . 在線: 263 小時
 . 瀏覽: 1660 頁
 . 註冊: 5902
 . 失蹤: 4099
#4 : 2008-12-9 05:23 AM     只看本作者 引言回覆

c++ 請用new 配置計憶體


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-3-29 09:42 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.023479 second(s), 7 queries , Qzip disabled