美文网首页
7-函数指针_字符串转整数练习

7-函数指针_字符串转整数练习

作者: ibo | 来源:发表于2017-02-03 15:42 被阅读0次
    当参数为:一个普通变量时
    • 变量的值 : 复制传参
    • 变量的地址 : 地址传参
    • 函数 : 获取两个变量num1 = 123, num2 = 456;
    • 完成数值交换 ==> num1 = 456, num2 = 123;

    练习 :

    输入一个字符串 "1234" , 得到整型值 1234 ;
    #include <stdio.h>
    
    int fun(char *p)
    {
        int num = 0;
    
        while(*p != '\0')
        {
            if(*p >= '0' && *p <= '9')
            {
                num = num*10 + *p - '0';
            }
            else
                return -1;
            p++;
        }
        return num;
    }
    int main(int argc, const char *argv[])
    {
        char src[128] ;
        int ret ;
    
        printf("请输入一个只含有数字的字符串: ");
        gets(src) ;
        ret = fun(src);
    
        if(ret == -1)
        {
            printf("输入有误, 退出\n");
    
        }
        else
        {
            printf("结果值为 : %d\n",ret);
        }
        return 0;
    }
    
    函数指针:
    #include <stdio.h>
    
    void (*fun(void (*)(int),int))(int); // void (*)(int)  fun (void (*)(int), int); 函数声明
    void fun1(int);
    int main(int argc, const char *argv[])
    {
        int num = 123;
        fun(fun1, num);
        return 0;
    }
    
    void (*fun(void (*p)(int), int n))(int)
    {
        p(n);
    
        return p;
    }
    
    void fun1(int num)
    {
        printf("num = %d\n",num);
    }
    
    
    函数指针:
    • 函数指针 : 函数名 代表的为 函数的入口地址.
    • void (*p)(int) ==> void fun(int)*p
    • 数据类型 * 指针变量名 ;
    • 定义函数指针; 直接把函数名替换为 (*指针变量名)
    • 注意: ()不能省略.
    命令行传参 :
    • int main(int argc, const char *argv[]) ;
    • argc : 命令行传入参数的个数 (包括 ./a.out)
    • argv[] : 传入参数的首地址.
    malloc函数 :
    • #include <stdlib.h>
    • void *malloc(size_t size);
    • 参数 :size , 需要申请的内存空间的大小, 以字节为单位.
    • 说明 : size_t : unsigned int
    • 返回值 : 成功, 返回值为申请空间的首地址 .
    • 失败或者size 为 0 时 , 返回值为 NULL .
    释放函数
    • void free(void *ptr)
    • 释放ptr所指向的内存空间.
    • 注意: 告诉系统, 这段内存空间可以继续分配.
    * 全局变量 : 谨慎使用.
    * 指针函数 : 返回值类型为指针的函数.
    * malloc 与 free 一一对应.

    相关文章

      网友评论

          本文标题:7-函数指针_字符串转整数练习

          本文链接:https://www.haomeiwen.com/subject/bpydittx.html