博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何将一个数组的地址作为函数的返回值!
阅读量:4087 次
发布时间:2019-05-25

本文共 1095 字,大约阅读时间需要 3 分钟。

////  main.m//  suiYI2////  Created by JYT on 15/11/11.#import 
#define COUNT 11//将数组作为返回值.Made it!!!//定义一个返回值类型为int*的函数,目的是为了返回排序后的数组首地址(数组名是常量指针,数组名是数组的首地址)int* getNewArray(){ //在堆区开辟空间存放数组(若是在栈区存放数组,随着函数结束,数组名指向的地址存放的内容也会被系统释放,而堆上的空间是由程序员自动给予分配和释放的) int *p = malloc(COUNT * sizeof(int)); //static int p[COUNT] = {0}; //或者采用static定义指针变量 (在数组p[COUNT]前面加入了static关键字,它就使得p[COUNT]存放在内存中的静态存储区中,所占用的存储单元不释放直到整个程序运行结束) for (int i = 0; i < COUNT; i++) { p[i] = arc4random()%101; printf("%d ", p[i]); } printf("\n"); for (int i = 0; i < COUNT - 1; i++) { for (int j = 0; j < COUNT - i - 1; j++) { if (p[j] > p[j+1]) { int temp = p[j]; p[j] = p[j+1]; p[j+1] = temp; } } } return p;}int main(int argc, const char * argv[]) { int *p = NULL; //定义与封装函数返回值类型相同的指针变量,来接收返回地址 p = getNewArray(); //打印排序后的函数 for (int i = 0; i < COUNT; i++) { printf("%d ", p[i]); } return 0;}

终于解决了心中的一个小疑惑(虽然这种方法并没有很大的实际意义=-=)

控制台运行示例:

你可能感兴趣的文章
利用runtime给类别添加属性
查看>>
本地推送
查看>>
FMDB的使用
查看>>
UIImage存为本地文件与UIImage转换为NSData
查看>>
[转]打印质数的各种算法
查看>>
[转]javascript with延伸的作用域是只读的吗?
查看>>
php的autoload与global
查看>>
IE不支持option的display:none属性
查看>>
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
TableDnd(JQuery表格拖拽控件)应用进阶
查看>>
[转]开源中最好的Web开发的资源
查看>>
Https加密及攻防
查看>>
Java生成随机不重复推广码邀请码
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
String类的intern方法随笔
查看>>
【泛型】一个简易的对象间转换的工具类(DO转VO)
查看>>
1.随机函数,计算机运行的基石
查看>>
MouseEvent的e.stageX是Number型,可见as3作者的考虑
查看>>
移植Vim配色方案到Eclipse
查看>>