C语言:怎么销毁数组呢?

C语言:怎么销毁数组呢?,第1张

要看数组所使用的内存空间。

1、如果是局部函数栈空间中的数组,有程序自动回收。

void f()

{

int a[2] = {1,2} //局部栈空间上的数组,程序自动回收

}

2、如果是动态内存分配 的数组,在c语言中使用free()将其释放。回收有 *** 作系统的堆管理器来进行 *** 作。

void f()

{

int *p = (int *) malloc(2 * sizeof(int))

free(p) //释放

}

数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。

一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

例如:

int a[10]说明整型数组a,有10个元素。

float b[10],c[20]说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20]说明字符数组ch,有20个元素。

1、首先是定义一个这样的函数,名称为【SeqSearch】,返回值为Int。

2、接下来就可以,传入一个数组,一个长度,和一个查找的值。

3、此时,就能从零开始到长度减一个个判断。

4、此时,可以判断,如果找到了就返回当前下标加一。

5、否则就让这个函数返回负一。

6、此时,可以在Main函数中配合运行测试。

7、输出对于每次删除 *** 作输出一行,如果k不合法(k大于n或者k为0),输出 -1, 否则输出删除的元素。

你好,变量的内存分配和销毁是由编译器自动管理的,全局变量在程序结束时销毁,局部变量在花括号的最后自动销毁,不能手动销毁哦

要实现你说的这个功能,不必销毁ch变量,可以采用楼上说的强制转换,也可以再申请一个变量把ch值赋给int(推荐),也可以建立一个union类型,声明一个union{int i, char ch}newType这样就能随时变化类型,但是结构较复杂,不推荐

希望能帮到你哦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6815091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存