zoukankan      html  css  js  c++  java
  • step1 . day10 C语言基础练习之指针和函数

    最近指针和字符串、函数一系列的结合整的有点蒙,梳理了一下终于有点眉目了,用代码练习了一下

    1,指针函数(返回值是指针的函数)

    #include <stdio.h>


    char * fun(char * arr);

    int main(int argc, const char *argv[])
    {
    char arr[100]="hello worlde";

    printf("str before::%s ",arr);

    fun(arr);

    printf("str after::%s ",arr);

    return 0;

    }


    char * fun(char *arr){
    while(*arr){
    if(*arr == ' '){
    arr++;
    continue;
    }
    *arr -= 32;
    arr++;

    }
    return arr;

    }

    2.函数指针(函数名即使函数的地址,即使函数指针)

    #include <stdio.h>


    char * fun(char * arr);

    int main(int argc, const char *argv[])
    {
    char arr[100]="hello worlde";

    char *(*p)(char *) = fun;
    printf("str before::%s ",arr);

    p(arr);

    printf("str after::%s ",arr);

    return 0;

    }


    char * fun(char *arr){
    while(*arr){
    if(*arr == ' '){
    arr++;
    continue;
    }
    *arr -= 32;
    arr++;
    }
    return arr;
    }

    3.函数指针数组(将多个函数指针放入数组中)

    #include <stdio.h>


    char * fun(char * arr);

    char * fun1(char * arr);

    int main(int argc, const char *argv[])
    {
    char arr[100]="hello worlde";

    char *(*p[2])(char *);
    p[0] = fun;
    p[1] = fun1;
    printf("str before::%s ",arr);

    p[0](arr);
    p[1](arr);

    printf("str after::%s ",arr);

    return 0;

    }


    char * fun(char *arr){
    while(*arr){
    if(*arr == ' '){
    arr++;
    continue;
    }
    *arr -= 32;
    arr++;
    }
    return arr;
    }

    char * fun1(char * arr)
    {
    while(*arr){
    if(*arr == ' '){
    *arr = '&';
    break;
    }
    arr++;
    }
    return arr;
    }

    4.函数指针数组指针(将函数指针数组的地址定义为另一个指针,一般不常用,就不继续举例下去了)

  • 相关阅读:
    5.2 spring5源码--spring AOP源码分析三---切面源码分析
    5.2 spring5源码--spring AOP源码分析二--切面的配置方式
    在Dubbo中使用Zookeeper入门案例
    Dubbo直连方式改造
    Dubbo直连方式
    16.3.3 对矢量可执行的其它操作
    16.3.2 可对矢量(vector)执行的操作
    16.3 标准模板库
    16.2.2 有关智能指针的注意事项
    16.2.1 使用智能指针
  • 原文地址:https://www.cnblogs.com/huiji12321/p/11150339.html
Copyright © 2011-2022 走看看