力扣1. 两数之和(适合刚接触力扣不久的同学)c语言求解时新手疑惑

题目介绍:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

读题后我们首先想到的就是使用暴力枚举法来进行求解,这里我只说一下用c语言解这道题遇到的问题
相信大家对循环都没有什么问题了,这里我主要说两个问题。
1. *returnSize这个东西是用我们自己定义来确定返回值的长度的,不是力扣直接把这个返回数组的长度给你拿来用的。刚接触力扣的小伙伴在返回值的时候记得把 returnSize的值给确定下来,要不然直接返回数组的话,该数组一定为空的。
我们也可以看出来,这里他给的returnSize是一个指针类型的,就是让我们可以自己对返回数组的长度进行定义的。
2. 在这道题中我们的返回值是以个数组类型,我们需要定义一个新的数组来存放符合条件的数值,因为函数返回的是指针地址指向函数内的局部变量数组,在函数退出时,数组的存储空间会被销毁,此时去访问该地址就会出现这个错误,所以我们还需要为这个数组申请内存空间。这是众多解决方法中较为简单的一种 。
如下操作:

int *ret=malloc(sizeof(int )*2)

这就是申请了一个长度为2的整形数组。

以上就是该题中需要注意的两个点。
文中有错误的地方,请大佬们即使指出

你可能感兴趣的:(leetcode,c语言,算法)