如何用指針申請動態(tài)內(nèi)存?函數(shù)的參數(shù)是一個指針嗎?
如果函數(shù)的參數(shù)是一個指針,不要指望用該指針去申請動態(tài)內(nèi)存。下面例子中,Test 函數(shù)的語句GetMemory(str, 200)并沒有使str獲得期望的內(nèi)存,str 依舊是 NULL。
void GetMemory(char *p, int num) { p = (char *)malloc(sizeof(char) * num); } void Test(void) { char *str = NULL; GetMemory(str, 100); //str 仍然為 NULL strcpy(str, "hello"); //運行錯誤 }
毛病出在函數(shù) GetMemory 中。編譯器總是要為函數(shù)的每個參數(shù)制作臨時副本,指針參數(shù) p 的副本是 _p,編譯器使 _p = p。如果函數(shù)體內(nèi)的程序修改了_p 的內(nèi)容,就導致參數(shù) p 的內(nèi)容作相應的修改。這就是指針可以用作輸出參數(shù)的原因。在本例中,_p 申請了新的內(nèi)存,只是把_p 所指的內(nèi)存地址改變了,但是 p 絲毫未變。所以函數(shù) GetMemory并不能輸出任何東西。事實上,每執(zhí)行一次 GetMemory 就會泄露一塊內(nèi)存,因為沒有用free 釋放內(nèi)存。
(資料圖)
如果非要用指針參數(shù)去申請內(nèi)存, 那么應該改用“指向指針的指針”,看下面的例子:
void GetMemory2(char **p, int num) { *p = (char *)malloc(sizeof(char) * num); } void Test2(void) { char *str = NULL; GetMemory2(&str, 100); // 注意參數(shù)是 &str,而不是 str strcpy(str, "hello"); cout<< str << endl; free(str); }
由于“指向指針的指針”這個概念不容易理解,我們可以用函數(shù)返回值來傳遞動態(tài)內(nèi)存。這種方法更加簡單,看下面的例子:
char *GetMemory3(int num) { char *p = (char *)malloc(sizeof(char) * num); return p; } void Test3(void) { char *str = NULL; str = GetMemory3(100); strcpy(str, "hello"); cout<< str << endl; free(str); }
用函數(shù)返回值來傳遞動態(tài)內(nèi)存這種方法雖然好用, 但是常常有人把 return 語句用錯了。這里強調(diào)不要用 return 語句返回指“棧內(nèi)存”的指針,因為該內(nèi)存在函數(shù)結(jié)束時自動消亡,看下面的例子:
char *GetString(void) { char p[] = "hello world"; return p; // 編譯器將提出警告 } void Test4(void) { char *str = NULL; str = GetString(); // str 的內(nèi)容是垃圾 cout<< str << endl; }
用調(diào)試器逐步跟蹤 Test4, 發(fā)現(xiàn)執(zhí)行 str = GetString 語句后 str 不再是 NULL 指針但是 str 的內(nèi)容不是“hello world”而是垃圾。如果把上面示例改成下面這樣,會怎么樣?
char *GetString2(void) { char *p = "hello world"; return p; } void Test5(void) { char *str = NULL; str = GetString2(); cout<< str << endl; }
函數(shù) Test5 運行雖然不會出錯,但是函數(shù) GetString2 的設計概念卻是錯誤的。因為 GetString2 內(nèi)的“hello world”是常量字符串,位于靜態(tài)存儲區(qū),它在程序生命期內(nèi)恒定不變。無論什么時候調(diào)用 GetString2,它返回的始終是同一個“只讀”的內(nèi)存塊。
標簽:
相關推薦:
精彩放送:
- []環(huán)球快看點丨TD早報 | 錦江與雅高簽署諒解備忘錄;廣州會展業(yè)回暖激活商旅市場
- []環(huán)球視訊!2021年養(yǎng)老金計算公式 2021養(yǎng)老金計算公式是怎樣的
- []焦點速看:雙預警!通州明后天陣風8級!伴有沙塵!注意防范——
- []社保卡激活了是不是金融功能就開通了,不一定
- []解局 | 建發(fā)一周三城拿地記:“保守觀望”和“規(guī)模擴張”
- []公積金可以取幾次,有以下四種情況
- []環(huán)球觀天下!悟空保是什么保險如何退保
- []過戶車保險費為什么這么貴,原因有以下三點
- []當前熱點-公允價值計量的交易性金融資產(chǎn)_公允價值計量
- []動態(tài):思科瑞2022年凈利9742.6萬同比增長0.38% 總經(jīng)理馬衛(wèi)東薪酬100萬
- []民和股份:公司種雞減值確認后不轉(zhuǎn)回,待種雞淘汰時轉(zhuǎn)銷對應的減值金額
- []焦點熱門:GQY視訊:公司將在提升內(nèi)部管理促進工作效能提升的同時,更積極主動應對市場機會
- []快來,在這條“櫻花大道”邂逅春日浪漫!
- []環(huán)球速訊:氣墊鞋跑步好嗎(氣墊鞋跑步好)
- []msci中國指數(shù)是什么意思
- []消息!公司一上市就發(fā)財了嗎
- []世界熱點!中國a股總市值
- []路程除以耗油量等于什么
- []當前焦點!重慶證券公司怎么樣啊
- []【時快訊】究極綠寶石叉字蝠怎么進化?雙腿變翅膀,論叉字蝠神奇的演化路線
- []世界熱議:保利發(fā)展前三月銷售1141.3億?月內(nèi)57億新增四宗地塊
- []觀天下!公司名稱翻譯成英文怎么寫_公司名稱翻譯成英文
- []6折人才房將成歷史?深圳明確:取消安居房和人才房!
- []觀焦點:迎大運動起來 全國勞模與成都職工代表樂動全城
- []當前報道:動態(tài)市盈率是什么
- []焦點短訊!gloryhole是什么
- []當前視訊!同花順模擬炒股輸光了需要投資者返還資金嗎
- []熱點聚焦:股市開盤是什么意思
- []世界最資訊丨福布斯發(fā)布2023全球億萬富豪榜;海底撈高層指考核方式升級;愛馬仕計劃加速擴張中國市場;淘寶APP首頁測試新增99特賣頻道
- []環(huán)球最資訊丨股市怎么樣才能賺錢
- []焦點短訊!常青科技:募資加碼研發(fā)創(chuàng)新,推動核心技術自主可控
- []星期六股票代碼是多少
- []當前焦點!金價還會跌嗎
- []【環(huán)球速看料】電子體溫計測量哪個部位最準確
- []世界新消息丨中鐵隧道股份有限公司是國企還是央企
- []科創(chuàng)50有哪些股票
- []鱷魚有舌頭嗎(鱷魚的舌頭可以防止水倒灌嗎)
- []當前觀察:每日凈值是什么意思
- []當前看點!債權(quán)投資減值準備能夠轉(zhuǎn)回嗎
- []天天滾動:政府為什么不強制賈躍亭回國
- []當前聚焦:福州期貨開戶哪家公司比較好
- []視焦點訊!汗斑怎么治療徹底根除_汗斑的最佳治療方法
- []焦點日報:一季度國家鐵路客貨運輸兩旺
- []滾動:剛買了三者沒買不計免賠怎么辦
- []實時:公積金提前還款
- []醫(yī)保比例單位和個人怎么計算
- []當前頭條:房屋結(jié)構(gòu)安全鑒定報告_房屋結(jié)構(gòu)
- []環(huán)球熱門:共創(chuàng)儲能新時代|比亞迪儲能榮膺第十一屆儲能國際峰會暨展覽會ESIE2023多項大獎
- []權(quán)威發(fā)布:科華數(shù)能用戶側(cè)儲能系統(tǒng)出貨量TOP1
- []世界熱議:“風起水涌,能量聚攏”| 科陸重磅發(fā)布Aqua、Aero、Byzer儲能新品
- []特變電工新能源攜光儲新品亮相儲能國際峰會
- []環(huán)球焦點!聚焦ESIE2023 | 興儲世紀與行業(yè)一起邁步新征程
- []每日熱訊!蜂巢能源疊片短刀L500型325Ah儲能專用電芯首次亮相儲能國際峰會
- []教人開網(wǎng)店的騙局_網(wǎng)上教開網(wǎng)店是真是假
- []【天天聚看點】瑞源電氣與您相約第十一屆儲能國際峰會,我們在6號館(S86)等您!
- []全球焦點!1八成干的香腸冷凍能放多久?
- []今日熱議:房子,竟然成了萬惡之源
- []天天簡訊:透露大模型進展以及英偉達合作情況,AI操作系統(tǒng)龍頭亮了!這些高增長低估值股熱度爆棚
- []快資訊:鑫鉑股份:修訂后的考核指標2應是增長至的概念,公司已就上述筆誤進行了更正,詳見巨潮資訊網(wǎng)
- []招商銀行信用卡咖啡風暴10元來襲!
- []尉氏附近有好玩的地方嗎 尉氏有什么好玩兒的嗎 尉氏附近有好玩的地方嗎在哪
- []空客在華獲160架新飛機訂單;新東方將布局文旅產(chǎn)業(yè) | 大公司簡報
- []天天新消息丨特銳德:有一定的出口外銷,但對公司充電業(yè)務總收入的影響不大
- []全民推方塊好玩嗎 全民推方塊玩法簡介
- []世界信息:qdll基金是什么意思
- []股票分紅分的是不是自己的錢
- []新股申購可以撤單嗎
- []當前滾動:趙薇娛樂公司叫什么
- []做空為什么跌了還賺錢
- []【世界快播報】中國在臺海軍演可不是“炸魚”,而是炸臺獨的心和膽,矯正美臺對臺海形勢的預期
- []天天時訊:僅租金收入就高達百億 新城控股連續(xù)五年經(jīng)營性現(xiàn)金流凈流入
- []視訊!企業(yè)為什么選擇在科創(chuàng)板上市
- []【全球新要聞】TE Connectivity @2023年儲能國際峰會暨展覽會
- []長城是由誰建造的
- []【環(huán)球報資訊】創(chuàng)業(yè)板指數(shù)基金有哪些
- []跨國公司有哪些
- []今日熱訊:工銀價值是什么基金
- []保障額度是什么意思,保險金額
- []環(huán)球關注:被車撞了怎么跟保險公司溝通賠償,有以下四步
- []當前資訊!社保買兩年不買可退回錢嗎,滿足條件可以退
- []環(huán)球短訊!新能源汽車自燃保險公司賠付嗎,購買了自燃險會賠付
- []私企有公積金嗎,有
- []【環(huán)球時快訊】直擊現(xiàn)場!沃太能源亮相北京ESIE展,"新一代"能源技術備受矚目!
- []環(huán)球新消息丨a股和美股哪個適合散戶
- []每日短訊:深化儲能業(yè)務布局 首航攜光儲系統(tǒng)解決方案亮相ESIE2023
- []【獨家】杠桿效應是什么
- []注冊制有什么特點
- []風投基金是什么意思
- []“數(shù)”說數(shù)字政府建設“山東樣本”
- []今日熱議:ipo啥意思
- []創(chuàng)業(yè)板和科創(chuàng)板的區(qū)別
- []震蕩股票怎么操作
- []環(huán)球播報:龍騰光電榮膺電博會金獎,卓越技術引領行業(yè)
- []前沿熱點:股市大跌的原因
- []天天快消息!權(quán)重股是指哪些股票
- []權(quán)重股什么意思
- []觀點:交通運輸部部署開展2023年中國航海日活動
- []世界滾動:“豫”見恐龍骨架化石數(shù)字作品限量發(fā)行
- []騰訊視頻與抖音達成合作,推動長短視頻融合發(fā)展
- []每日信息:3600億巨頭出手!聯(lián)手兩大新能源公司,要干這件大事
- 世界熱頭條丨K8s安裝部署怎么操作?K8S集群安裝部署及操作說明
- 焦點速讀:米老鼠微信主題紅包怎么玩?米老鼠微信主題氣泡設置教程方法
- 每日速訊:聯(lián)想平板android版本怎么升級?聯(lián)想樂Pad A1平板安卓4.0升級操作詳細教程
- 微速訊:知識點補充:什么是互質(zhì)?互質(zhì)的詳情介紹
- 局域網(wǎng)上任意主機怎么控制?軟件實現(xiàn)局域網(wǎng)流量控制
- 最新消息:怎么申請miui12.5內(nèi)測版本?miui12.5內(nèi)測答案是什么?
- 如何用指針申請動態(tài)內(nèi)存?函數(shù)的參數(shù)是一個指針嗎?
- 全球新資訊:合肥今起恢復公積金異地貸款
- 【世界播資訊】鄭州公布2023年680個市重點建設項目名單 總投資1.08萬億元
- 今日熱搜:深圳羅湖區(qū)發(fā)放5000萬購車補貼 個人最高獲10萬元補貼
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨家財務顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內(nèi)研發(fā)費用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發(fā)布2021年Q2財報 期內(nèi)凈利潤達1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內(nèi)實現(xiàn)營收同比增長17.27億元
- 汽車之家發(fā)布2021年第二季度業(yè)績 期內(nèi)新能源汽車品牌收入增長238%
- 中信銀行上半年實現(xiàn)凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創(chuàng)新高 全天成交額達1.29億元
- 上半年生物藥大增45% 關鍵財務指標好轉(zhuǎn)營收賬款持續(xù)下降
- 【全球速看料】這群HUSTer,在山溝溝里種出“金坨坨”!
- 焦點短訊!買瓶洗發(fā)水送女票
- 國潮吸引創(chuàng)業(yè)者
- 每日報道:李國慶羨慕周鴻祎平和離婚背后,與俞渝離婚大戰(zhàn)雞飛狗跳
- 陽光車險為啥便宜,陽光車險的理賠流程有哪些
- 配置占比大幅提升 機構(gòu)頻頻現(xiàn)身科創(chuàng)板股
- 環(huán)球微資訊!股票行情快報:天元股份(003003)4月7日主力資金凈買入55.04萬元
- 中交地產(chǎn)2022年收入385億?較上年增長164.52%
- 天天快報!LG化學金惠子:中國醫(yī)美市場潛力巨大,高端市場尤需持續(xù)發(fā)力
- 天天報道:中交地產(chǎn)2022年凈利潤0.34億元丨年報快訊
- 快訊:蘇寧環(huán)球披露前期會計差錯更正 涉及2021年度末未分配利潤數(shù)據(jù)
- 天天觀熱點:新能源車險保費大增背后:賠付率超油車,行業(yè)如何提升利潤?
- 天天新消息丨專訪陸家嘴董事長徐而進:集團優(yōu)質(zhì)資產(chǎn)注入 三年內(nèi)預計預收款項近400億元
- 每日熱訊!3月上海二手房成交套數(shù)達20個月新高:掛牌量充足,價格穩(wěn)定
- 環(huán)球觀察:專訪:對中國經(jīng)濟長期向好充滿信心——訪美敦力全球高級副總裁顧宇韶
- 每日關注!招商蛇口一季度簽約銷售金額722.66億元 同比增長超五成
- 當前快訊:嚴躍進:新力退市、藍光預警,防范房企債務危機演變?yōu)楣墒形C
- 機構(gòu)評3月非農(nóng):美國就業(yè)增長雖降溫,但美聯(lián)儲5月加息不可避免?
- 云海金屬:青陽項目按計劃是今年投產(chǎn)
- 世界要聞:湖北能源:公司信息披露嚴格按照監(jiān)管部門相關要求辦理,無應披未披事項
- 全球百事通!運動品牌“雙雄”安踏、李寧“失速”,成長性陷入瓶頸,高端化困難重重
- 國內(nèi)游熱度走高,全國多地知名景區(qū)官宣免票
- 城投控股一季度主要房地產(chǎn)項目新增簽約金額4570萬元
- 金融街預計2023年與控股股東關聯(lián)交易不超3.1億
- 當前短訊!鄭州樓市再放大招!公積金最高可貸100萬
- 天天百事通!天健集團按比例支付深圳坪山土地價款?代價4.84億元
- 世界今日報丨魚躍醫(yī)療:公司會根據(jù)對應產(chǎn)品所處階段、業(yè)務推廣的進度,合理安排產(chǎn)能配置
- 天天快看點丨融創(chuàng)房地產(chǎn)等被執(zhí)行超12億 融創(chuàng)房地產(chǎn)3天被執(zhí)行69次
- 通裕重工:國有控股后,公司樹立了“打造國際一流的能源裝備制造商及知名的功能材料供應商”的戰(zhàn)略目標
- 世界視訊!歐普康視:公司不是AI類企業(yè),產(chǎn)品中會根據(jù)需要吸收采用必要的AI技術
- 世界觀焦點:國任財險副總經(jīng)理馬昌明任職資格批復
- 民生銀行參展“第十一屆國際儲能峰會”并舉辦“聚力儲能 和合共生”金融論壇
- 財信發(fā)展為4家子公司提供181.03萬元擔保
- 全球播報:香江控股2022年營收60.55億元 銷售金額24.41億元
- 頭條焦點:振邦智能:目前微逆產(chǎn)品已完成樣機的測試,目前正在進行型式測試、并網(wǎng)測試等,爭取早日通過認證
- 今日關注:粵海股份:城啟集團等五家企業(yè)破產(chǎn)清算案獲得通過
- 中國電影前三月票房119億 《流浪地球2》累計40.26億
- 當前看點!陜天然氣:公司目前正在開展天然氣貿(mào)易前期準備工作,積極對接相關方,實質(zhì)性貿(mào)易業(yè)務暫未開展
- 天天看點:香江控股:2022年營業(yè)收入為60.55億元
- 熱點聚焦:安徽首創(chuàng)“納稅信用綠卡” 將在長三角地區(qū)推廣應用
- 告別日燒3億的困局,三大航今年能否實現(xiàn)盈利?
- 財面兒丨合生創(chuàng)展:前3月實現(xiàn)合同銷售額100.67億元 同比增長25.5%
- 合肥百貨:2022年歸母凈利潤下降7.3%
- 焦點熱門:招商蛇口完成發(fā)行10億短期融資券 利率2.2%
- 新消息丨中環(huán)股份(002129.SZ):2020年度歸母凈利升20.51%至10.89億元 擬10派0.6元
- ST泰禾:太原金尊府項目在屬地政府及相關機構(gòu)的大力支持和協(xié)助下,正在積極推進復工前期的各項工作
- 全球新資訊:鄭州:承租公租房、保租房的家庭公積金提取金額最高可為3.6萬元
- 環(huán)球最資訊丨兆威機電:公司積極把握汽車自主品牌和新能源汽車的發(fā)展機遇,充電槍鎖驅(qū)動系統(tǒng)項目按計劃穩(wěn)步推進中
- 成渝雙城首屆社會辦醫(yī)創(chuàng)新發(fā)展大會在渝舉行
- 環(huán)球新動態(tài):直擊現(xiàn)場!馬應龍亮相世界大健康博覽會
- 資訊推薦:新加坡旅游業(yè)等來了中國游客
- 微速訊:安徽高速地產(chǎn)9.51億元資產(chǎn)支持ABS已獲反饋
- 新消息丨中交地產(chǎn):成功發(fā)行7億元公司債券
- 全球熱文:中國鐵建擬掛牌轉(zhuǎn)讓3家項目公司股權(quán) 涉及四川成都、江蘇淮安等地
- 今頭條!浙江中成房地產(chǎn)4.79億元競得紹興1宗地塊
- 焦點關注:國電南自:市值管理核心是不斷優(yōu)化上市公司的資產(chǎn)質(zhì)量和做優(yōu)經(jīng)營業(yè)績以實現(xiàn)價值提升
- 環(huán)球快報:宏盛股份:股市有風險,入市需謹慎
- 京東拍賣春季法拍節(jié)開啟 房產(chǎn)5.6折起拍、豪車7折起拍
- 突發(fā)!千億黑馬房企退市,此前老板“退出群聊”嚇壞債權(quán)人
- 環(huán)球視點!南都物業(yè):公司按要求定期披露股東戶數(shù),敬請留意定期報告相關內(nèi)容
- 雁棲湖健康發(fā)展論壇在京召開
- 天天新動態(tài):黃金比例身材是幾幾分
- 觀熱點:基金回報率一般多少
- 天天日報丨房地產(chǎn)板塊漲幅第一!美女私募回應:這個鍋我不背!
- 證券大漲是牛市到了嗎
- 當前簡訊:股息分紅是利好嗎
- 微動態(tài)丨上海第一家試行股份制經(jīng)營的公司是
- 熱點在線丨紹興發(fā)布總額6000萬元政府消費券 按“先申領后抽簽”模式進行
- 每日快訊!津惠保是什么保險,普惠型補充醫(yī)療險
- 天天百事通!中南置地:2023年第一季度累計交付1.5萬套房屋
- 世界焦點!電子醫(yī)保卡第一次怎么用,有以下六個步驟
- 北京洛娃大廈二次拍賣流拍 當前價7.67億元
- 焦點資訊:房地產(chǎn)板塊走強 天保基建漲停
- 焦點信息:綠城水務(601368)4月7日主力資金凈買入178.16萬元
- 【全球播資訊】農(nóng)村社會養(yǎng)老保險怎么買最劃算,有以下兩點
- 4月7日西子潔能漲停分析:光熱發(fā)電,創(chuàng)投,釩電池概念熱股
- 環(huán)球今熱點:中國人壽生存金多久拿一次,三年或是一年領取一次
- 訂單險買家退貨怎么賠,賠付的是商品的價格
- 【環(huán)球報資訊】4月7日麥格米特漲停分析:呼吸機,智能制造,充電樁概念熱股
- 4月7日首藥控股漲停分析:創(chuàng)新藥,醫(yī)藥概念熱股
- 4月7日三維化學漲停分析:光熱發(fā)電,異丙醇,石油化工概念熱股
- 環(huán)球報道:回落是上升還是下降
- 券商龍頭股票有哪些
- 未成年可以炒股嗎
- 環(huán)球微速訊:macd頂背離和底背離是什么
- 世界消息!股份制銀行有哪些
- 鑄儲能品質(zhì)標桿|晶科能源新一代SunGiga液冷工商業(yè)儲能解決方案重磅來襲
- 錢小樂:是“借錢三巨頭”之一,也是小而美的信貸新星
- 世界實時:浙江湖州:2023年將再增1.53萬套保障性租賃住房
- 【世界速看料】天力鋰能:碳酸鋰價格持續(xù)下跌,影響到下游采購需求,直接影響到訂單下滑,導致開工率下降
- 焦點快播:專家稱金價創(chuàng)新高只是時間問題,短期須警惕3月就業(yè)和通脹報告
- 世界快看:中國金茂一季度簽約增幅40% 產(chǎn)品+服務筑基精益發(fā)展底盤
- 萬達地產(chǎn)集團新增兩則被執(zhí)行人信息,執(zhí)行標的近10.87億元
- 京東京造正式布局元宇宙 打造"京造元宇宙"虛擬世界
- 天天日報丨京東京造正式布局元宇宙 打造"京造元宇宙"虛擬世界
- A股電影娛樂板塊走強 上海電影漲停、華誼兄弟、博納影業(yè)等上揚
- 全球看點:英鎊見頂了?機構(gòu)反駁:還有200點上漲空間
- 世界熱文:浙農(nóng)股份:公司在浙江省嘉善縣西塘鎮(zhèn)開展現(xiàn)代糧食產(chǎn)業(yè)園建設,打造未來耘農(nóng)場,目前種植有萬畝水稻
- 快消息!銀行卡里邊定期的錢可以轉(zhuǎn)活期嗎
- 世界今日訊!諾基亞市值最高峰多少