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

 

转载于:https://www.cnblogs.com/gongxianjin/p/9897512.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值