日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C——通过调用函数分配内存

發(fā)布時(shí)間:2023/11/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C——通过调用函数分配内存 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://blog.csdn.net/u012627502/article/details/3579724


1)以返回值方式返回:把動態(tài)分配的存儲位置地址,賦值給指針類型返回值(不同于被調(diào)用函數(shù)的自動變量地址)

2)以形參形式返回:二級指針類型做形參

??

? 1 #include <stdio.h>

? 2 #include <stdlib.h>
? 3?
? 4 void fun(int* p){
? 5 ? ? p = (int*)malloc(sizeof(int));
? 6 }
? 7?
? 8 int main(){
? 9 ? ? int* p_int = NULL;
?10 ? ? fun(p_int);
?11?
?12 ? ? printf("%d\n", *p_int);
?13 ? ? return 0;
?14 } //段錯(cuò)誤
--------------------------------
? 1 #include <stdio.h>
? 2 #include <stdlib.h>
? 3?
? 4 int* fun(void){
? 5 ? ? return (int*)malloc(sizeof(int));
? 6 }
? 7?
? 8 int main(){
? 9 ? ? int* p_int = NULL;
?10 ? ? p_int = fun();
?11?
?12 ? ? *p_int = 12345;
?13?
?14 ? ? printf("%d\n", *p_int);
?15 ? ? free(p_int);
?16 ? ? return 0;

?17 }//以返回值的方式返回動態(tài)申請的內(nèi)存地址

?---------------------------------

? 1 #include <stdio.h>
? 2 #include <stdlib.h>
? 3?
? 4 void fun(int** p){
? 5 ? ? *p = (int*)malloc(sizeof(int));
? 6 }
? 7?
? 8 int main(){
? 9 ? ? int* p_int = NULL;
?10 ? ? fun(&p_int);
?11 ? ? printf("%x\n", p_int);
?12 ? ? return 0;

?13 } //通過傳入?yún)?shù)二級指針返回

----------------------------------

不可以把局部變量的地址賦值給指針類型的返回值(生命周期決定的)

同類型結(jié)構(gòu)體變量之間可以直接賦值。




總結(jié)

以上是生活随笔為你收集整理的C——通过调用函数分配内存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。