C++中的数组和字符串,strlen函数,iostream头文件

C++语法是在C语言的基础上发展而来的,兼容C语言语法。在数组和字符串的概念上也一样。字符数组的定义:

大家好,又见面了,我是你们的朋友全栈君。

1.内容简介:

C++语法是在C语言的基础上发展而来的,被称为“带类的C”,兼容C语言语法。本文介绍数组和字符串的基本知识。

2.C,C++字符数组和字符串:
字符串以’\0’结尾,而’\0’表示的是null字符,注意,这里不是null,而是null字符。所以,我们可以这样描述: 字符串是以null 字符 ‘\0’ 结尾的一维字符数组。在C和C++中,数组和字符串的概念上也一样。

字符数组的定义:

char arr[] = “Hello”;//有5个字符d的字符数组

字符串的定义:

char arr[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’}; //末尾是‘\0’

也可以这样定义:

char *str = “Hello”;//含有6个字符,最后一个是结束符’\0’

这样因为,C/C++编译器会自动把 ‘\0’ 放在字符串的末尾。

举例如下:

#include <stdio.h>
#include <unistd.h>

int main() {
    char arr1[6] = {'H', 'e', 'l', 'l', 'o'}; //数组
    char arr2[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; //字符串
    char *arr3 = "Hello"; //字符串

    printf("arr1: %s\n",arr1);
    printf("arr2: %s\n",arr2);
    printf("arr3: %s\n",arr3);

    
    return 0;
}

运行结果:

arr1: Hello
arr2: Hello
arr3: Hello

3.C++的strlen函数:

strlen()函数:
在C++中,提供了String类,以及用于计算字符串长度的strlen函数,对于上面arr和str的定义,strlen计算出的长度都是5,即不包括’\0’。

举例如下:

#include <iostream>
int main(int argc, const char * argv[]) {
    char arr[] = "Hello";
    char *str = "Hello";
    std::cout << "hello arr:"<<strlen(arr)<<"\n";
    std::cout << "hello str:"<<strlen(str)<<"\n";
    
    return 0;
}

运行效果:

hello arr:5
hello str:5

注:iostream是C++标准输入输出头文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126633.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月8日 上午8:20
下一篇 2022年4月8日 上午8:20


相关推荐

  • 2022Android SDK下载与安装

    2022Android SDK下载与安装一、下载sdk:https://www.androiddevtools.cn找个合适的位置解压双击“SDKManager.exe”,启动SDKManager安装工具我们可以通过有AndroidSDK的国内镜像服务器来下载安装,这里推荐几个:1、中科院开源协会镜像站地址:IPV4/IPV6:http://mirrors.opencas.ac.cn端口:802、北京化工大学镜像服务器地址:IPv4:http://ubuntu.buct.edu.cn/端口:80IPv

    2022年7月19日
    20
  • facets学习(1):什么是facets

    facets学习(1):什么是facetsML数据集可以包含数亿个数据点,每个数据点由数百(甚至数千)的特征组成,几乎不可能以直观的方式了解整个数据集。为帮助理解、分析和调试ML数据集,谷歌开源了Facets,一款可视化工具。Fac

    2022年8月4日
    8
  • java简单酒店管理系统_javaweb酒店管理系统

    java简单酒店管理系统_javaweb酒店管理系统编写Java程序实现小型酒店管理系统。为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。1、该系统的用户是:酒店前台。2、酒店使用一个二维数组来模拟。“Room[][]rooms;”3、酒店中的每一个房间应该是一个java对象:Room4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.5、系统应该对外提供的功能:可以预定房间:用户输入房间编号,订房。可以退房:用户输入房间编号,退房。可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。

    2026年3月11日
    4
  • sendgrid_使用SendGrid处理传入的电子邮件

    sendgrid_使用SendGrid处理传入的电子邮件sendgridIfyo veusedbloggi defunctPoste youmaybeawar

    2026年3月18日
    1
  • 从零构建 RAG(上篇):N8N 本地部署、数据接入 Pinecone 向量数据库、对接 OpenAI 的完整指南

    从零构建 RAG(上篇):N8N 本地部署、数据接入 Pinecone 向量数据库、对接 OpenAI 的完整指南

    2026年3月15日
    3
  • 软件实施工程师的经验之谈(适合新手,老鸟请指正)[通俗易懂]

    软件实施工程师的经验之谈(适合新手,老鸟请指正)[通俗易懂]干了三年实施,技术没学多少,人倒是变的圆滑多了问题1:实施干嘛的呢?说简单通俗点,开发就是研发生产电视机的,我们实施就是给买电视机的人去进行安装调试,试运行完了签验收单收款和后期的日常维护(当然,如果大公司有自己的售后服务团队就另当别论了)问题2:实施的薪资(我想大部分人都关注这个吧)以一线城市北上广为例,我在北京,第一份实施工作月薪4500,出差补助一天一百,报销路费和住宿费,不报销吃饭…

    2022年6月2日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号