基础代码
2015-05-30 13:57
246 查看
需要动态申请数组且返回,堆栈上面的数组是不能直接返回的会在函数退出的时候销毁掉
#include<stdio.h>
int **returnNum()
{
int **a,i,j;
a = (int**)malloc(5*sizeof(int*));
for(i=0;i<5;++i)
{
a[i] = (int*)malloc(5*sizeof(int));
for(j=0;j<5;++j)
{
a[i][j]=i;
}
}
return a;
//error: cannot convert `int (*)[5]' to `int**' in return
}
int main()
{
//int cpy[5][5]=returnNum; // error: invalid initializer
int **cpy=returnNum();
int i,j;
for(i=0;i<5;++i)
{
for(j=0;j<5;++j)
{
printf("%d ", cpy[i][j]);
}
printf("\n");
free(cpy[i]);
}
free(cpy);
return 0;
}
#include<stdio.h>
int **returnNum()
{
int **a,i,j;
a = (int**)malloc(5*sizeof(int*));
for(i=0;i<5;++i)
{
a[i] = (int*)malloc(5*sizeof(int));
for(j=0;j<5;++j)
{
a[i][j]=i;
}
}
return a;
//error: cannot convert `int (*)[5]' to `int**' in return
}
int main()
{
//int cpy[5][5]=returnNum; // error: invalid initializer
int **cpy=returnNum();
int i,j;
for(i=0;i<5;++i)
{
for(j=0;j<5;++j)
{
printf("%d ", cpy[i][j]);
}
printf("\n");
free(cpy[i]);
}
free(cpy);
return 0;
}
相关文章推荐
- java理论基础学习三
- 当URL编码遇到String.format
- Effective C++ 条款33
- java用键盘的方向键控制一个图形块推着另一个图形块移动
- Python高级特性:生成器
- java自动装箱拆箱深入剖析
- AutoLayout的三种设置方式之——NSLayoutConstraint代码篇
- DragonBoard810使用记录
- MapReduce程序提示在MapTask或ReduceTask处,Error: java.lang.NullPointerException
- jdk在eclipse中链接源码配置
- win7 64位 QT安装 MySql数据库驱动安装遇到的问题
- C++ 学习笔记(一):类的声明与编写
- java枚举
- struts2总结一:MVC设计模式
- 如何在Java中快速发布WebService服务
- JAVA-6大设计原则
- java并发学习笔记-java.util.concurrent包
- 3d数学基础-欧拉角转换与旋转矩阵或旋转矩阵转换成欧拉角-用C++代码实现
- C++基础(int和char互相转换)
- 基于微信公众平台的Python开发——自动回复