2018年11月2日 leetcode的确是一个不错的网站,希望能提升自己的算法力int* twoSum(int* nums, int numsSize, int target) { }出现的第一个方法,很久没做C的我也懵逼了,这是函数指针还是指针函数,首先这是函...
2018年11月2日
leetcode的确是一个不错的网站,希望能提升自己的算法力
int* twoSum(int* nums, int numsSize, int target) {
}
出现的第一个方法,很久没做C的我也懵逼了,这是函数指针还是指针函数,首先这是函数确实的,所以他是有返回值的。而且返回值是一个指针。那就是说他肯定是指针函数了。
指针函数顾名思义:就是指针函数了,只不过返回的值是指针变量而已,记住返回指针的函数就好了;
举个栗子: int *f(int a, int b); // 声明指针函数
//小写字符转换为大写字符指针函数
char * upper(char *str) {
// 先保留初的地址。因为等会str指向的位置会变来变去的。
char *dest = str;
//如果不是非空字符串则进行循环变量转换
while(*str != '\0'){
if(*str >='a' && *str <= 'z'){
//转为大写
*str -= 'a' -'A';
}
str ++;//遍历下一个
}
return dest;
}
int main()
{
// 定义一个字符串变量
char str[] = "gxj";
// 调用函数
char *dest = upper(str);
printf("%s", dest);
return 0;
}
结果:GXJ
2 函数指针,搞懂了指针函数,函数指针就很简单了
char str[] = 'gxj';
//声明一个函数指针
char (*lowtoupper)(char *str);
lowtoupper = upper;
//使用函数指针upper调用函数
lowtoupper (str);
结果:GXJ
本文标题为:C语言算法入门
基础教程推荐
- C语言的三种条件判断语句你都了解吗 2023-03-05
- C语言数组长度的计算方法实例总结(sizeof与strlen) 2023-04-26
- 利用QT设计秒表功能 2023-05-30
- 纯C++代码详解二叉树相关操作 2023-05-15
- Qt数据库应用之实现通用数据库请求 2023-03-18
- C语言植物大战数据结构二叉树递归 2023-04-09
- character-encoding – Linux中最常见的C语言编码(和Unix?) 2023-11-21
- VisualStudio2010安装教程 2023-01-05
- g++: const 丢弃限定符 2022-10-07
- 05-C语言进阶——动态内存管理 2023-11-20
