1. 前言 c语言函数里最常用就是指针传参和返回地址,特别是字符串处理中,经常需要封装各种功能函数完成数据处理,并且c语言标准库里也提供了string.h 头文件,里面包含了很多字符串处理函数;这些函数的参数和返回值几乎都是指针类型。这篇文章就介绍如何使用指针作为函数参数、并且使用指针作为函数返回值。
下面通过几个示例代码来演示用法。
2. 通过指针间接修改主函数里局部变量空间的值#include #include void func(int *p);int main(){ int a=100; func(&a); printf(a=%d\n,a); //200 return 0;}void func(int *p){ printf(p=%d\n,*p); *p=200;} 3. 在子函数里通过指针类型间接交换main函数里局部变量空间的值#include #include void func(int *a,int *b);int main(){ int a=100,b=200; func(&a,&b); //func(100,200) printf(a=%d,b=%d\n,a,b); return 0;}void func(int *a,int *b){ int c; c=*a; *a=*b; *b=c;}//return语句只能返回一个值//如果函数想返回多个值,可以使用指针(形参)实现。 4. 函数返回指针类型#include #include char *func(char *p);int main(){ char str[]=1234567890; char *p; p=func(str); printf(%s\n,p); // return 0;}char *func(char *p){ p+=3; //p向后偏移3个字节 return p;} 5. 编写一个计算字符串长度的函数 函数功能: 传入字符串,返回字符串的长度。
与strlen函数功能一样即可。
#include #include int my_strlen(char *p); //函数声明int main(){ char buff[100]; int len; printf(请输入字符串:); scanf(%s,buff); len=my_strlen(buff); printf(len=%d\n,len); return 0;}//每个函数的功能要单一//计算字符串长度。 字符串特点结尾是有'\0'//1234567890int my_strlen(char *p){ char *str=p; while(*str++!='\0'){} return str-p-1;} 6. 编写一个字符串排序函数 函数功能: 传入字符串,在函数里实现字符串从大到小或者小到大排序。
注意: 从大到小或者小到大排序可以通过函数形参区分。
木工雕刻机步进电机驱动器干扰解决方案
C语言的诞生 C语言与C++40年的相爱相杀
【世说芯品】Microchip发布汽车和工业用新型长距离USB 3.2时钟恢复器/信号中继器器件
如何利用无人机来拍摄正在运动中的物体
数字孪生十问:分析与思考
C语言-指针作为函数形参类型
API RMS机器人测量软件
场效应晶体管与微流控器件的集成应用分析
力科Summit T3-8综合分析仪系统介绍
天津市国资委将中环集团51%股权转让给津智资本
新冠疫情将全球5G智能手机销量放缓
VK36W4D是超小体积4点液位检测触摸IC
vivoZ5X和小米8SE哪个好
以高整合度混合信号单片机实现电子计价秤应用
明年苹果5G iPhone金属中框/机壳升级,价格上涨
格瑞普诚邀您奔现下周深圳国际高交会
除菌功能洗衣机 帮你轻松保障衣物卫生
协同效率怎样利用区块链来提高
未来VR/AR和脑机接口将掀起虚拟数字世界的入口之争
smt加工前的准备工作有哪些?