如何将一个数组的地址作为函数的返回值!

来源:互联网 发布:c 与java base64 编辑:程序博客网 时间:2024/06/13 23:39
////  main.m//  suiYI2////  Created by JYT on 15/11/11.//  Copyright (c) 2015年 lanou3g. All rights reserved.//#import <Foundation/Foundation.h>#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;}

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

控制台运行示例:


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸上突然过敏了怎么办 脸过敏总反复怎么办 用蜂蜜洗脸过敏怎么办 脸上涂蜂蜜过敏怎么办 孕晚期脸过敏怎么办 吃芒果脸过敏怎么办 脸上老反复过敏怎么办 用什么都过敏怎么办 脸上起过敏湿疹怎么办 脸上发湿疹过敏怎么办 感冒流鼻涕有痰怎么办 咳嗽流清水鼻涕怎么办 脸最近老是过敏怎么办 鼻炎脸特别疼怎么办 宝宝感冒一直流鼻涕怎么办 经常过敏的体质怎么办 一边鼻子堵了怎么办 鼻炎流清水鼻涕怎么办 鼻子总感觉堵塞怎么办 半边鼻子不通气怎么办 鼻炎感冒了鼻塞怎么办 左边鼻子不通气怎么办 婴儿鼻塞不通气怎么办 过敏性鼻炎一直打喷嚏怎么办 一只鼻子流鼻涕怎么办 一个鼻子不通气怎么办 夏天鼻子堵了怎么办 做完鼻子感冒了怎么办 鼻子不通流鼻涕打喷嚏怎么办 一岁半宝宝流鼻涕鼻塞怎么办 没有感昌流鼻涕怎么办 婴儿感冒咳嗽流鼻涕怎么办 小孩经常流鼻子怎么办 5岁宝宝流鼻涕怎么办 小孩鼻涕一直流怎么办 二岁宝宝流鼻涕怎么办 小婴儿有点鼻塞怎么办 宝宝流鼻涕总不好怎么办 孩子鼻炎睡不好怎么办 鼻炎清鼻涕不止怎么办 宝宝持续低烧流鼻涕怎么办