对于一维数组来说
就像下面这个例子,是这样一个题
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。
int* twoSum(int* nums, int numsSize, int target, int* returnSize) { for(int i=0;i
这个题目要求你返回一个一维数组,首先需要定义一个指针来存放所要输出的数据,这里定义了一个
*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)); }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229746.html原文链接:https://javaforall.net
