鹿鞭回春胶囊饭前吃:C语言 通过指针从函数返回一个数组
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 19:30:49
严格的讲,无法直接从函数返回一个数组。但是,可以让函数返回一个指向任何数据结构的指针,当然也可以是一个指向数组的指针。
下面直接贴代码:
view plaincopy to clipboardprint?
- #include
- #include
- #include
- #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语言的那些小秘密之函数指针
指针数组 数组指针
【转] 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
C语言指针
c语言指针详解
C语言指针
C/C 数组名与指针区别深入探索
指针数组和数组指针
指针数组和数组指针
C语言指针(摘录)
C语言函数声明
二维数组和指针⑴ 用指针表示二维数组元素。 要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个
C/C++数组名与指针区别深入探索
C/C++数组名与指针区别深入探索
C/C++数组名与指针区别深入探索
函数返回指针不要使用栈内存地址
一个女工程师用C语言写的爱情函数