1樓:
1getmemory1(str1); //將str1的值傳給形參p,函式改變了p的值,而str1的值不會跟著變。
2 將getmemory1的引數改為引用,問題即解決。即:
void getmemory1( char *p )//改為:
void getmemory1( char *&p )
2樓:匿名使用者
void getmemory1( char *p )傳進去的是個指標,可是你不用這個指標,而是新創作乙個指標給引數變數。使得引數變數儲存的原來的指標丟失。而函式外面的指標並沒有改變。
所以你申請的記憶體外面並不知道。
要想函式內申請記憶體,就要用指標的指標。
void getmemory1( char **p )char *str1 = null;
getmemory1(&str1);
就可以了
3樓:匿名使用者
從這個問題看出你沒有理解c語言函式的單向值傳遞概念
void getmemory1( char *p )
//函式結束後發生記憶體洩漏
4樓:雪獅天瑞
malloc 的介面形式 那麼好 你居然自己設計的不好用的。
我猜測了下你的需求,你把引數設定void,返回值設定成buf指標,這樣最符合你的需求對吧。
5樓:匿名使用者
第乙個輸出的是內容是位址為0 處的字元;因為無論是否呼叫getmemory1(str1),str1仍為null(0);就相當於你傳遞給某個變數你的值後,那個變數的值可能以後還會改變,實參的值是不會變的;
第二個就不解釋了
做長線需要看哪些方面指標,做中長線看哪些指標
1 作什麼事,要作熟悉的,否則失敗的概率大,所以港股的公司 規則 資訊渠道你了解多少?中國 環境再惡劣,要死也是先港股,再a股!皮之不存,毛將焉附?2 做長線還是 看個人的理念 喜好 時間多少 耐心 意志力 技術水平而定 3 通常,想做 就應該讀書學習,但只是讀書學習就能賺嗎?不是,否則大學生們都是...
上聯傳遞薪火敬前輩下聯是什麼,上聯 傳遞薪火致敬前輩,下聯是什麼?
上聯是 傳遞薪火敬前輩,下聯是 保持傳統啟後人。上聯 傳遞薪火敬前輩 下聯 繼承家風尊祖先!上聯 傳遞薪火敬前輩。下聯 播撒恩澤蔭後人。上聯 傳遞薪火敬前輩 下聯 勇敢善良愛幼小 傳遞薪火敬前輩 開啟仁道益後生 上聯 傳遞薪火致敬前輩,下聯是什麼?上聯 傳遞薪火致敬前輩,下聯是什麼?下聯 弘揚經典點...
kdj指標屬於什麼型別的指標,KDJ指標屬於什麼型別的指標?它的作用是什麼?
kdj指標又叫隨機指標,是一種相當新穎 實用的技術分析指標,它起先用於 市場的分析,後被廣泛用於 的中短期趨勢分析,是 和 市場上最常用的技術分析工具。隨機指標kdj一般是用於 分析的統計體系,根據統計學原理,通過乙個特定的週期 常為9日 9周等 內出現過的最 最低價及最後乙個計算週期的 價及這三者...