当前位置: 首页 > news >正文

【和春笋一起学C++】(十五)字符串作为函数参数

1. char指针作为函数参数

在C语言中,表示字符串的方式有3种:

  • char数组
  • 用引号括起的字符串常量
  • char指针

这3种形式都可以将其作为实参传递给函数中的参数(char*),因此函数的形参需要使用char*类型。将字符串作为参数来传递,实际上传递的是字符串第一个字符的地址。

需要注意的是,字符串与普通char数组的区别,字符串有内置的结束字符(空置字符,‘\0’),普通的char数组包含字符,但不是以空值字符结尾的,所以它不是字符串。所以C风格的字符串传递给函数参数时,可以不将字符串长度的参数传递给函数。函数内部可以通过循环计算出字符串的长度。

字符串作为函数参数的一个实例:

#include <iostream>
#include <cstring>using namespace std;int c_in_str(const char* str, char ch)
{int count = 0;while (*str){if (*str==ch){count++;}str++;}return count;
}int main()
{char array_c[15] = "ubuahsdduash";const char *pt_c = "shadhasshdasdh";int u_num = c_in_str(array_c,'u');int s_num = c_in_str(pt_c, 's');cout << "u number in " << array_c<< " is: " << u_num << endl;cout << "s number in "<< pt_c<<" is: " << s_num << endl;return 0;
}

程序输出如下:

程序说明:

  • c_in_str函数中的字符串参数在函数中不应该被修改,因此字符串参数需要设置为const。
  • c_in_str函数中演示了字符串处理的标准格式:
while(*str)
{statement;str++;
}

开始,str指向字符串的第一个字符,因此*str表示的是第一个字符。循环语句中,只要*str不为空值字符(‘\0’ ),*str就为非零值,循环将继续。在每轮循环结尾处,表达式str++将增加一个字节,使得char指针指向字符串中的下一个字符。最终str*将指向字符串结尾的空值字符,使得*str等于0(空值字符的数字编码为0),从而结束循环。

2. string对象作为函数参数

C风格字符串和string对象用途几乎相同,但与数组相比,string对象与结构更相似。例如:可以将一个结构赋给另一个结构,也可以将一个对象赋给另一个对象。如果需要多个字符串,可以声明一个string对象数组。

相关文章:

  • == 和 equals 的区别
  • 旧物回收小程序开发——让闲置再生价值,用科技撬动绿色经济
  • 如何把一台电脑作为另外一台电脑的显示器
  • 对比关系型数据库与NoSQL数据库
  • 【数组的定义数组与内存的关系】
  • 基于微信小程序的高校校园微活动管理系统设计与实现(源码+定制+开发)高校微信小程序校园活动发布与互动平台开发 面向大学生群体的校园活动移动平台设计与实现
  • Redis核心用法与通用命令全解析
  • 212. 单词搜索 II
  • 机器人收硬币算法c++,完整代码可运行
  • TDengine 高可用——双副本
  • Android Raspberry 请求 api 失败 iOS 请求成功【ssl 证书配置问题】
  • 【LangChain大模型应用与多智能体开发 ① 初识LangChain 】
  • 人工智能100问☞第30问:什么是损失函数?
  • 20250523-BUG:无法加载“GameLib/Framework.h“头文件(已解决)
  • 【Kafka】编写消费者开发模式时遇到‘未解析的引用‘SIGUSR1’’
  • 20250523-BUG-E1696:无法打开元数据文件“platform.winmd(已解决)
  • UI 设计|提高审美|Linear UI风格分享
  • 钉钉出口IP有哪些
  • ECharts图表工厂,完整代码+思路逻辑
  • 【GAN网络入门系列】二,DCGAN人脸图片生成与转置卷积讲解
  • qq建设网站首页/焦作seo公司
  • linux 网站开发/企业网站建设的步骤
  • 苏州网站建设方法/信息发布
  • 做的网站很卡是什么原因/为什么不建议去外包公司上班
  • 网站建设合同协议/东莞seo网站排名优化
  • 网站建设具体流程图/哈尔滨新闻头条今日新闻