7-函数指针_字符串转整数练习
来源:互联网 发布:js 局部打印pdf 编辑:程序博客网 时间:2024/06/05 11:07
当参数为:一个普通变量时
- 变量的值 : 复制传参
- 变量的地址 : 地址传参
- 函数 : 获取两个变量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 一一对应.
0 0
- 7-函数指针_字符串转整数练习
- 5-二维数组_练习_字符串处理函数_指针
- C语言整数转字符串(itoa()函数)小练习
- 指针与字符串_字符串处理函数
- 20150604高级指针及函数指针_练习
- 39_字符串指针
- 指针应用_写一个函数求字符串的长度
- 指针_习题:运用指针设计一个函数_输入一个整数,输出其对应的16进制数
- Day9_c语言_指针练习
- 指针函数练习
- 函数指针终极练习
- C 函数指针练习
- 指针函数小练习
- 函数指针练习
- 字符串转整数函数stoi()实现
- C语言整数转字符串itoa函数
- C语言字符串转整数atoi函数
- 基础练习5_查找整数
- 5-二维数组_练习_字符串处理函数_指针
- Codeforces 764C Timofey and a tree(思路)
- IOS10 Notification推送通知(一)
- 6-字符指针_删除字符串中的空格_register_指针数组
- 进程和线程的区别
- 7-函数指针_字符串转整数练习
- Deep Q-Network,NIPS-2013:Playing Atari with Deep Reinforcement Learning
- 8-数据类型_处理5个学生的数据
- 问题小结
- 9-malloc练习
- 10-linux-c基础_管道_putty配置
- linux常用命令整理
- What does the “yield” keyword do? (转)
- 4.组合模式