c语言里如何返回一个指针数组?
各位好
如果一个函数想要返回一个指针数组,该如何写函数呢?跪求段小代码,谢谢!
[解决办法]
示例代码
#include <stdio.h>#include <stdlib.h>int* fun(int nsize) { int* p=(int*) malloc(sizeof(int)*nsize); return p;}int main(void){ int *p=fun(5); int i; for(i=0;i<5;i++) p[i]=i; for(i=0;i<5;i++) printf("%d ",p[i]); printf("\n"); free(p); return 0;}
[解决办法]
刚才没插入代码,这个好看点。
#include <stdio.h>int **your_function(int *pArray[]){ *pArray[0] = 1; *pArray[1] = 2; *pArray[2] = 3; return pArray;}void print_array(int *pArray[]){ int i = 0; for (; i<3; i++) { printf("%d ",*pArray[i]); } printf("\n");}void main(){ int a = 5, b = 4, c = 3; int *array[3] = {&a,&b,&c}; int **p; print_array(array); p = your_function(array); print_array(p);}