c语言中如何把在子函数中用malloc开辟的空间传回主函数?

问题描述

c语言中如何把在子函数中用malloc开辟的空间传回主函数?

如何把在子函数中用malloc开辟的空间传回主函数?
我将指针传给子函数,但却没有将开辟的空间地址带回到主函数

解决方案

malloc返回的是函数指针。你直接返回这个指针就可以了。
如果是在参数中,那么看你的参数有没有加上引用符号。&

解决方案二:

可以通过返回值啊。。。

“如何把在子函数中用malloc开辟的空间传回主函数?
我将指针传给子函数,但却没有将开辟的空间地址带回到主函数”
第一句我看懂了,第二句没有看懂。
你到底是想再子函数中开辟空间,然后把空间地址传回主函数。还是想把一个地址传给子函数,再传回主函数??

时间: 2024-10-03 15:01:36

c语言中如何把在子函数中用malloc开辟的空间传回主函数?的相关文章

指针的运用-如何运用指针把说需要的地址传回主函数

问题描述 如何运用指针把说需要的地址传回主函数 实现输入三个字符串,按由小到大顺序输出 下面是我写的代码,结果是 按照原来的输入顺序输出了,求哪位C语言大神解释下,下面代码应该怎么改 #include #include void swap(char *p1,char *p2); int main() { char n1[10],n2[10],n3[10],*p1,*p2,*p3; scanf("%sn",n1); scanf("%sn",n2); scanf(&qu

科讯商业版中用到的ajax空间与分页函数_javascript技巧

科讯sql商业版中用到的ajax空间与分页函数,他们的js代码学习是非常不错的//ajax 控件 function PageAjax(){     var xhrObj=null;     if(window.XMLHttpRequest)     {     xhrObj=new XMLHttpRequest();     }     else if(window.ActiveXObject)     {     try{     xhrObj=new ActiveXObject("Micro

C语言内存释放与调用子函数时间变长

问题描述 C语言内存释放与调用子函数时间变长 各位大神,你们好: 小弟最近用C语言编程遇到这样一个问题(代码比较多,就不粘了,见谅): 在子函数A中用malloc申请内存,在调用函数A的B函数中释放申请的内存.重复运行100次函数B,发现:在函数B中若不释放A的申请的内存,每次A运行的时间基本一样,而内存占用量持续上升:若在函数B中释放A申请的内存,占用内存问题解决了,然后每次调用A的时间又持续上升. 完全没有搞明白这是个什么情况,你们怎么看? 解决方案 堆上的内存申请和释放一定要一一对应,用完

c语言-C语言中如何把字符串"2A"转换成0x2A?

问题描述 C语言中如何把字符串"2A"转换成0x2A? 如题:C语言中如何把字符串""2A""转换成0x2A?有没有现成的函数,或者提供一直转换思路? 解决方案 思路:对字符串中每个字符判断是 0 到 9,还是 A 到 F对这两种情况进行处理,是第一种减去 0x30 就是对应的数字:第二种减去 'A',再加上 10.如果字母有小写的情况,也需要考虑. 解决方案二: 思路,手写的.int result = 0;for (int i = 0; i &

C语言中实现动态分配二维数组

在C语言中动态的一维数组是通过malloc动态分配空间来实现的,动态的二维数组也可以通过malloc动态分配空间来实现. 实际上,C语言中没有二维数组,至少对二维数组没有直接的支持,取而代之的是"数组的数组",二维数组可以看成是由指向数组的指针构成的数组.对于一个二维数组p[i][j],编译器通过公式*(*(p+i)+j)求出数组元素的值: 1.p+i 计算行指针. 2.*(P+i) 具体的行,是一个指针,指向该行首元素地址. 3.*(P+i)+j 得到具体元素的地址. 4.*(*(p

变元-c语言如何在子函数读取主函数中的数组

问题描述 c语言如何在子函数读取主函数中的数组 要一次性全部读取这个数组,不需要改变数组. 比如我有个数组a[10].我想一次性在子函数中读取a从1到10的所有字符.如果不通过指针,可以用变元传递嘛 解决方案 你用数组做形参,传过去的实参相当于传指向数组的指针. 解决方案二: 标准C语言,没有你所说的变元的东东.变元,都是后来 C++/C# 才有的. 指针是最方便的,其它不想说了. 解决方案三: c语言就指针了吧!其他的没有指针直接了! 引用,变元都不是c的东西了! 说具体需求吧 解决方案四:

c语言-C语言数组作为参数传入子函数

问题描述 C语言数组作为参数传入子函数 对不起,可能我没表达清楚,我想问,数组作为参数传入子函数为什么不是作为形式参数传入,请你看程序运行结果,如果数组作为形式参数传入子函数,那么形式参数的值并不会影响原来main函数中的值,但是实际上,main函数中数组原来的值已经被修改了,这是因为数组传入的是地址(指针),我的问题就在这里,传入的是指针为什么不是用完就扔的形式参数. 这与c语言的设计有关是吗?内部有什么机制吗? 解决方案 首先提一下std C 调用约定,参数的传递使用栈. 在传递时首先将参数

MFC语言中的消息和函数之间的关系

问题描述 MFC语言中的消息和函数之间的关系 MFC中的消息和函数之间的关系是什么,比如OnSize这个是一个函数吧,怎么变成消息的? 解决方案 每个窗口有一个消息循环,mfc对消息循环做了包装,通过消息映射宏将收到指定的消息调用对应的虚函数处理,你写的onsize就是这样一个函数. 解决方案二: Onsize 是窗口大小发生了改变时调用的 3个消息分别是:WM_SIZE.WM_SIZING.WM_GETMINMAXINFO:分别对应相应的处理函数:OnSize.OnSizing.OnGetMi

c-C语言中函数数组调用问题

问题描述 C语言中函数数组调用问题 5C 定义的二维数组为全局变量,在主函数中有多个子函数要用到它.请问下大家,子函数中计算的此二维数组的值间能传递么?还是也需要调用呢?~~ 解决方案 可以传引用或者指针,或者定义为全局变量.那就直接用不用传了. 解决方案二: 传递数组地址或指针,C中没有引用 解决方案三: 你用全局变量,每个函数里面都可以改啊. 解决方案四: 全局的直接访问就行了,就是要注意不要把里面的数据乱改,导致读取出问题 解决方案五: 你使用全局变量,每个函数都可以去访问它并且修改它,会