1、這要看你返回的指針指向的是不是局部變量,你的問題很可以是返回的是一個(gè)局部變量的指針。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、東湖網(wǎng)站維護(hù)、網(wǎng)站推廣。
2、通過參數(shù)告訴函數(shù):參數(shù)指向的單元存放著你要的數(shù)據(jù)(供函數(shù)讀寫),處理完后也可以將結(jié)果放到那些單元(函數(shù)結(jié)束后供調(diào)用程序讀寫),這樣雙方都可以讀寫數(shù)據(jù)和結(jié)果,稱為雙向傳遞。
3、C語言中,函數(shù)參數(shù)只能傳值。與傳值對應(yīng)的是傳引用,C語言不支持函數(shù)參數(shù)傳引用,C++語言才支持。C++傳引用函數(shù):void foo(int& a) { a = 3; } 假如a = 2,執(zhí)行foo(a)后,a = 3。
4、首先,int *num[] 是指針數(shù)組 ,存放的是數(shù)組元素a[0]-a[5]的地址。再說sort 參數(shù),傳入的是數(shù)組num的首地址 ,以及 n 要排序的元素個(gè)數(shù)。
經(jīng)常用到的time(NULL); 也是傳NULL指針的一個(gè)應(yīng)用。
你的地址值傳遞錯(cuò)誤,按照我給你修改的試試看,一定要注意你的實(shí)參傳遞的是地址還是具體的值,如果是地址,在子函數(shù)中就不要去修改你傳遞進(jìn)來的地址。
intcmp是和GetKeyFunc_t對應(yīng)起來的。而你現(xiàn)在錯(cuò)在了CmpFunc_t這個(gè)函數(shù)參數(shù)上了。你把怎樣的函數(shù)參數(shù)指針傳給了BST_t *newBST?你沒交代清楚啊,你把錯(cuò)誤指針傳給newBST函數(shù)的第一個(gè)參數(shù),編譯器肯定報(bào)錯(cuò)了。
關(guān)鍵的一點(diǎn)你要理解調(diào)用函數(shù)在傳入?yún)?shù)的時(shí)候有個(gè)副本的概念。
語法上講沒有問題,但實(shí)際上來說一般來說是不穿NULL的,因?yàn)闆]什么意義。如果真出現(xiàn)了要小心。
通過參數(shù)告訴函數(shù):參數(shù)指向的單元存放著你要的數(shù)據(jù)(供函數(shù)讀寫),處理完后也可以將結(jié)果放到那些單元(函數(shù)結(jié)束后供調(diào)用程序讀寫),這樣雙方都可以讀寫數(shù)據(jù)和結(jié)果,稱為雙向傳遞。
你的地址值傳遞錯(cuò)誤,按照我給你修改的試試看,一定要注意你的實(shí)參傳遞的是地址還是具體的值,如果是地址,在子函數(shù)中就不要去修改你傳遞進(jìn)來的地址。
因?yàn)榈谝粋€(gè)參數(shù)是地址傳遞,fun(&b,a);中傳入a字符。*c=*c+1將c的值變?yōu)閎字符。主函數(shù)的值改變。第二個(gè)參數(shù)是值傳遞,所以在函數(shù)中d的值為B字符。但是并不影響主函數(shù)的值,所以主函數(shù)輸出a的值是A。b的值是b。
關(guān)鍵的一點(diǎn)你要理解調(diào)用函數(shù)在傳入?yún)?shù)的時(shí)候有個(gè)副本的概念。
沒打印 直接掛掉 你的P沒有初始化 是野指針 于是ptr的值也就是隨機(jī)值 賦值*ptr導(dǎo)致野指針賦值,非法訪問,掛掉。
intcmp是和GetKeyFunc_t對應(yīng)起來的。而你現(xiàn)在錯(cuò)在了CmpFunc_t這個(gè)函數(shù)參數(shù)上了。你把怎樣的函數(shù)參數(shù)指針傳給了BST_t *newBST?你沒交代清楚啊,你把錯(cuò)誤指針傳給newBST函數(shù)的第一個(gè)參數(shù),編譯器肯定報(bào)錯(cuò)了。