c语言函数怎么返回,c语言函数怎么返回两个值

kodinid 7 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言函数怎么返回问题,于是小编就整理了4个相关介绍c语言函数怎么返回的解答,让我们一起看看吧。

  1. c中函数返回值怎么释放?
  2. c语言delete函数返回值?
  3. 《C专家编程》:函数如何返回一个数组?
  4. c语言函数都有返回值吗?

c中函数返回值怎么释放?

c中函数返回值的释放,使用分配在堆上的内存

分配在堆上的内存主要指通过malloc、calloc、realloc等函数动态分配的内存,由于堆上的内存需要手动释放,因此可以在使用完以后再释放,这样指针就不会指向未知。

c语言函数怎么返回,c语言函数怎么返回两个值-第1张图片-安济编程网
图片来源网络,侵删)

注意:堆上的内存必须要用完即释放,否则容易造成内存泄漏。

另外一般要返回指针的情况,也可以用全局变量或者传入指针参数代替。

c语言delete函数返回值?

返回值true。

c语言函数怎么返回,c语言函数怎么返回两个值-第2张图片-安济编程网
(图片来源网络,侵删)

C++中delete函数用于回收new分配的内存空间。

C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。

关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。

c语言函数怎么返回,c语言函数怎么返回两个值-第3张图片-安济编程网
(图片来源网络,侵删)

在针对简单的基本数据类型,使用delete也可以回收 new[] 分配的一组对象的内存空间,因为:基本的数据类型对象没有析构函数,并且new 在分配内存时会记录分配的空间大小,则delete时能正确释放内存,无需调用析构函数释放其余指针。因此两种方式均可。

但是在对于自定义类型的时候,使用new[] 分配的一组对象的内存空间最好还是要用delete[]回收。

《C专家编程》:函数如何返回一个数组

下面几种函数的写法都是等价的:

加不加*号,加多少*号,都是一样的。

《C专家编程》里说:这是一个在ANSI C中流行的不良方法,即调用函数和通过指针调用函数(或任意层次的指针间接引用)使用同一种语法。至于数组,也有对应的方法。这种做法进一步恶化了本来就有缺陷的“声明与使用相似”的哲学。

c语言函数都有返回值吗?

不一定。简单的C语言函数设计中,一般都设计成无返回值 void 类型函数。实在设计需要的情况下,才会定义相应的返回值相应类型。当然,返回值也是函数重要的特性。有返回值使程序设计得灵活。能更好的交互 和其他函数相互作用。没有返回值类型的函数,一般都相对缺乏灵活性。

到此,以上就是小编对于c语言函数怎么返回的问题就介绍到这了,希望介绍关于c语言函数怎么返回的4点解答对大家有用。

标签: 函数 返回 内存