[問題] []或*當成參數傳入的問題
之前有許多前人的文章討論到char*和char[]的差別
讓我對兩者不同的宣告方式的差別有更進一步的了解 非常感謝大家
但日前寫程式時碰到一個問題 就是如果要傳遞參數時 兩者的寫法到底差在哪?
假設我要傳一個二維陣列char send[][]到function中 那寫成
function(char receive[][]);
和
function(char **receive);
的差別在哪呢?? (假設send[][]存在於main中 沒有local不local的問題)
另外 我記得沒錯的話 前者的寫法有問題 因為一定要指定第二維的長度對吧?? (why?)
但如果這麼麻煩 為什麼不全部用char **來接這個陣列就好了呢??
還是說 今天如果我宣告的send[][]方式不一樣
(例如改用send **宣告 或大小有指定的send[A][B] 甚至*send[]這種混合式的)
我傳遞的方式也要跟著不一樣? 麻煩大家解惑 非常感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.236.49
※ 編輯: coolbeela 來自: 118.168.236.49 (04/13 02:50)
→
04/13 08:22, , 1F
04/13 08:22, 1F
→
04/13 09:00, , 2F
04/13 09:00, 2F
→
04/13 09:00, , 3F
04/13 09:00, 3F
→
04/13 12:07, , 4F
04/13 12:07, 4F
→
04/13 14:25, , 5F
04/13 14:25, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章