1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 如何用c语言return数组函数

如何用c语言return数组函数

时间:2021-04-01 18:28:03

相关推荐

如何用c语言return数组函数

对于一维数组来说

就像下面这个例子,是这样一个题

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。

int* twoSum(int* nums, int numsSize, int target, int* returnSize){for(int i=0;i<numsSize;i++){for(int j=i+1;j<numsSize;j++){if(nums[i]+nums[j] == target){int *r;r=(int *)malloc(sizeof(int)*2);*returnSize=2;r[0]=i,r[1]=j;return r;}}}*returnSize=0;return 0;}

这个题目要求你返回一个一维数组,首先需要定义一个指针来存放所要输出的数据,这里定义了一个

*r,然后我们需要使用malloc函数给这个指针增加空间,如下:

r = (int *)malloc(sizeof(int)*n); //申请内存空间,大小为n个int长度。

*******尤其要注意的一点是,要给这个指针赋值,这里我们需要返回 [i,j],所以需要 r[0]=i,r[1]=j;否则 系统自动给你赋值。最后要在条件之外return 0;或者return NULL;

对于二维数组来说

这个是正确的做法

int **result = (int **)malloc(rows * sizeof(int *));for (int i = 0; i < rows; i++){result[i] = (int *)malloc(columns * sizeof(int));}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。