目录
🔊🔊🔊
🇨🇳大家好,我是_奇奇,暂时为一名C语言博主。河牧院大一在读。
🔔喜欢交朋友,欢迎大家和我一起交流学习
❤️编程的前途是光明的,道路是曲折的。笑到最后才是赢家🍺
🌳我觉得坦途在前,人又何必为了一些小障碍而不走路呢 --鲁迅
- LeetCode的很多题都是接口类型的oj题目。比如下面的第一个截图那道题,我们只需要编写函数内部就可以了,而主函数部分不需要编写。
- 这时候我们就需要理解形参的各个参数是什么意思。
int* nums类型的形参可以接收哪些值?
思路一
- 如上图形参
char* s
,我们可以得知s
是一个指针变量。由于指针变量需要存放地址,所以代码如下。 - 思路一,直接传字符变量a的地址。
#include <stdio.h> int main() { char a = 'b'; firstUniqChar(&a); }
思路二
- 思路二,传数组名。这也是最常用的传参用法。
- 因为数组名就是首元素的地址。
#include <stdio.h> int main() { char a[10] = "hello"; firstUniqChar(a); }
int** nums类型的可以接收哪些值?
*看这道题的形参部分,int** matrix
可以接收哪些值?
思路一
- 思路一,直接拿到一级指针的地址。
#include<stdio.h> int main() { int a = 10; //p变量里存放的是整型变量a的地址。 int* p = &a; int** ppa = &p; //ppa变量里面存放的是指针变量p的地址。 matrix(ppa); return 0; }
思路二
- 思路二,指针数组。重点。
int main() { int* arr[5]; //把数组的首地址传给形参 matrix(arr); return 0; }
- 分析:
int* arr[5];
是一个有着5个int* 类型的数组。数组的5个元素都是int*类型的指针。 - 所以理所应当可以把首元素的地址,也就是int* 类型的元素的地址传给形参
int** matrix