C语言 通过指针从函数返回一个数组
来源:互联网 发布:淘宝订单体检清洗过期 编辑:程序博客网 时间:2024/06/05 03:13
忘记最初在网上想找什么资料了,偶然间看到这篇的,如果让我自己写的话,肯定不会写的,好好学习了下。
严格的讲,无法直接从函数返回一个数组。但是,可以让函数返回一个指向任何数据结构的指针,当然也可以是一个指向数组的指针。
下面直接贴代码:
- #include <stdio.h>
- #include <string.h>
- #include <malloc.h>
- #define PRINT_ADDRESS(addr) printf("0x%08X/n", (addr))
- // 使用指针从函数返回一个数组
- // paf是一个函数,它返回一个指针,该指针指向一个包含20个int元素的数组
- int (*paf())[20]
- {
- int (*pear)[20];
- int i = 0;
- pear = (int (*)[20])malloc(20 * sizeof(int));
- printf("Malloc memory, Address: ");
- PRINT_ADDRESS(pear); // 打印所分配内存的地址
- if (!pear)
- {
- printf("malloc failed!/n");
- }
- // 初始化数据
- for (i = 0; i < 20; i++)
- {
- (*pear)[i] = i;
- }
- return pear;
- }
- void UsePointerReturnArrayFunction()
- {
- // 声明result是一个指针,指向一个包含20个int元素的数组
- int (*result)[20];
- char *p = NULL;//"char * test";
- // 上面是变量定义
- printf("/n使用指针从函数返回一个数组 -->/n");
- // 通过调用函数返回一个指针(指针指向一个数组)
- result = paf();
- printf(" Free memory, Address: ");PRINT_ADDRESS(result);
- free(result); // 打印所释放内存的地址
- printf("%s/n", p);
- printf("--> 使用指针从函数返回一个数组/n/n");
- }
- int main()
- {
- UsePointerReturnArrayFunction();
- return EXIT_SUCCESS;
- }
- C语言 通过指针从函数返回一个数组
- 使用指针从函数返回一个数组
- 使用数组指针从函数中返回一个数组
- 使用指针从函数返回一个二维数组
- 使用指针从函数中返回一个数组
- 如何使用指针从函数返回一个数组。
- C++---从函数返回指针
- C语言 函数返回数组和指针区别
- c语言,c++函数返回一个数组,二维数组
- 【C++】从函数返回数组
- 【C++】指针(6):从函数返回指针
- c语言中函数能返回一个数组吗
- c语言中如何返回一个数组函数
- 如何让C语言函数返回一个二维数组
- C/C++语言之通过定义指针函数方式来实现在一个cpp文件里面获取另外一个cpp文件函数的返回值
- C语言:数组 指针 函数
- C语言函数指针数组
- 【C语言】函数,函数指针;指针数组,数组指针。
- Hadoop源代码分析 共41篇(收藏)
- IOS开发基础之——图像压缩成指定大小(高度/宽度)
- 从windows batch shell启动selenium自动测试并获取report
- Solaris10修改主机名
- 如何通过Makefile编译iphone的openSSL
- C语言 通过指针从函数返回一个数组
- android Preference之android:dependency
- 转别人一个样式好看的导航
- hbase开启lzo压缩
- SD controller CRC error 分析
- 我的farewell letter
- Hadoop MapReduce数据流程(上)
- FW - Prompt Type Property (need to H)
- 趣味题集粹