易截截图软件、单文件、免安装、纯绿色、仅160KB

从函数返回一个数组的2种方法 (C专家编程 p230)

严格来说,无法从函数返回一个数组,但可以从函数返回一个指向任何数据结构的指针,包括一个指向数组的指针。
一种方式如下:
#include <stdio.h>
#include <stdlib.h>
int (*func())[20];//func是一个函数,它返回一个指向包括20个int元素的数组的指针
int main(void)
{
        int (*result)[20];
        int i = 0;
        result = func();
        for(i = 0; i < 20; i++){
                printf("%d\n", (*result)[i]);
        }
        free(result);
        exit(0);
}
int (*func())[20]
{
        int (*a)[20];
        int i = 0;
        a = calloc(20, sizeof(int));
        if(a == NULL){
                perror("calloc error");
                exit(1);
        }
        for(i = 0; i < 20; i++){
                a[0][i] = i;
        }
        return a;
}
千万要注意:不能从函数中返回一个指向函数的局部变量的指针。
另一种方式如下:
#include <stdio.h>
#include <stdlib.h>
struct tag{
        int array[20];
}x, y;
struct tag func(void);
int main(void)
{
     &n


相关文档:

【推荐】C和C++语言学习总结(可以应对面试的题目)

C和C++语言学习总结(资料来自 <高质量C++/C 编程指南> 林锐博士 2001 年7 月24)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题, ......

C盘转换为NTFS格式.

@ ECHO OFF
@ ECHO.
@ ECHO.                          Snlie
@ ECHO ---------------------------------------------------------------
@ ECHO NTFS格式是WinXP推荐使用的格式。转换 ......

C盘转换为NTFS格式.cmd

@ ECHO OFF
@ ECHO.
@ ECHO.                               说   明
@ ECHO ----------------------------------------------------------------- ......

C和C++语言学习总结 zz

知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省值问题,宏代码与内联函数区别
6、构造和析构的次序,String函数定义
具 ......

C/C++是最主要的编程语言,这里列出了50名优秀网站

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建 议,以进一步加强这方面的清单。
1、http://snippets.dzone.com/tag/c/ --数以千 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号