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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java collections.sort_java中

    java collections.sort_java中importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.image.BufferedImage;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;…

    2025年10月9日
    3
  • PHP JSON_ENCODE 不转义中文汉字的方法

    PHP JSON_ENCODE 不转义中文汉字的方法ios程序中不识别读取到的JSON数据中\u开头的数据。PHP生成JSON的时候,必须将汉字不转义为\u开头的UNICODE数据。网上很多,但是其实都是错误的,正确的方法是在json_encode中加入一个参数JSON_UNESCAPED_UNICODE(bydefault7#zbphp.com)json_encode($data,JSON_UNESCAPED_U

    2022年7月13日
    20
  • python小项目:2、猜数字

    python小项目:2、猜数字

    2021年10月5日
    53
  • 四角号码数字在线查询_七的四角号码

    四角号码数字在线查询_七的四角号码伟大的网络,让汉字的四角号码查询变成在线的了曾经有很多人想用四角号码,但苦于太难,基本放弃了。但至从有个四角号码查询器,和四角号码输入法,使用的人又多了起来。但始终不方便,需要安装软件。而伟大的网络,

    2022年8月4日
    5
  • Qt面试题(二)

    Qt面试题(二)QT理论试题1以下关于QT的描述正确的是a.是一个不跨平台的C++图形用户界面b.由挪威TrollTech公司出品c.只支持Unix、Linuxd.QTAPI和开发工具对所支持的平台是不一致的2以下关于QT的描述不正确的是a.QT支持2D图形渲染b.QT支持3D图形渲染c.QT支持OpenGL d.QT不支持XML…

    2022年6月25日
    39
  • java jediscluster_【集群】JedisCluster 原理

    java jediscluster_【集群】JedisCluster 原理1.JedisCluster类结构JedisCluster是针对RedisCluster的java客户端,它封装了java访问redis集群的各种操作,包括初始化连接、请求重定向等。我们先来看下JedisCluster的类结构:JedisCluster初始化时,所有的集群连接信息都是封装在JedisClusterInfoCache里,由于jedis本身不是线程安全的,所以使用对象池JedisPo…

    2022年10月14日
    2

发表回复

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

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