您的位置:首页 > 编程语言

基础代码

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: