想了一下c語言如何實現返回乙個字串陣列,答之:沒有這種功能,但是吧,還是有辦法實現的。
那就是指向陣列的指標
char **p 這個p就是指向陣列的指標,它指向乙個陣列的起始位址.
想要引用裡面的陣列時,直接使用p[i] 即可。
我們知道c語言裡面的各種陣列,本質上都是指標,並且函式其實也是不能把陣列當作引數的,實際上都是把陣列的位址傳進去了,實際上就是指向陣列位址的指標。
說了這麼多廢話,那麼我們就實現一下吧。
char **getdata(int sz,char **res)
return p; //p是指向指標陣列的指標
}
這樣返回的p就是指向陣列的指標了,實際上就是乙個字串陣列
函式解釋:
函式返回乙個字串陣列,實際上就是指向陣列的指標,傳進去的是返回的陣列的大小以及乙個字串陣列,用來處理資料用。
C語言函式如何正確返回陣列?
includeint function int main 程式執行結果 接著把注釋掉的那段 取消注釋 程式執行結果 難道就因為加了一句話,就出錯?可是我除了輸出啥也沒幹啊 實際上我們返回陣列的方法是錯誤的,問題的根源在於 我們在function函式中,定義區域性變數a,返回的是a的位址,而a是乙個區...
C語言系列文章之typedef
typedef 應該算是很熟悉的關鍵字了,但是我也只是簡單使用罷了,為了比較系統的講述這一小節,特地上網搜了一下。好了,現在正式開始講解。typedef 關鍵字可以用於給資料型別定義乙個別名,比如說你本名叫關谷神奇,我嫌棄這個名字太長了,所以給你取乙個別名,叫關谷,以後我叫關谷的時候你就知道在叫你了...
C語言系列文章之enum
列舉,顧名思義,就是把乙個個可能的值列舉出來,它們占用的空間是同乙個。這個功能和 define 有些相似,但又不完全一樣,define 是專業替換戶,列舉可能的值只是它的其中一種運用方式罷了 關於 define,可以檢視 define 小節 怎麼理解呢?就比如乙個玻璃瓶,你規定只能用它裝水 飲料 酒...