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年10月15日
    3
  • Eclipse–快捷键

    Eclipse–快捷键

    2021年10月2日
    42
  • c++ stl map实现_JAVA map

    c++ stl map实现_JAVA mapC++STL库map详解

    2022年10月15日
    2
  • java开发是什么_java开发到底是做什么的

    java开发是什么_java开发到底是做什么的1java开发到底是做什么的在互联网迅猛发展的时代,而我们如果对互联网一无所知,那就相当于文盲。所以很多人都想去了解它,去学习他。而作为互联网的产物——java,是一门非常不错的技术,学精通之后,你的未来不会再担心就业。那么下面小编给大家说说java开发到底是做什么的,希望能对你有些帮助。桌面级应用:尤其是需要跨平台的桌面级应用程序。桌面级应用:简单的说就是主要功能都在我们本机上运行的程序,比如w…

    2022年7月9日
    17
  • java.library.path_java的path的设置路径

    java.library.path_java的path的设置路径添加Handler:me.add(new ContextPathHandler(“ctx”)),然后在页面中就可以${ctx}来用代码如下:找不到代码写在哪里的,请在整个工程中搜索configHandlerconfig: /** *配置处理器 */ publicvoidconfigHandler(Handlersme){ me.add(newCont

    2022年9月16日
    3
  • java面试宝典pdf,给大家安排上!

    java面试宝典pdf,给大家安排上!前言Spring无论在Java生态系统,还是在就业市场,是绝对的王者。大厂面试出镜率之高,投产规模之广,无出其右。随着技术的发展,Spring从往日的IoC框架,已发展成CloudNative基础设施,衍生出大量Spring技术栈,如大家熟知的SpringBoot、SpringCloud和SpringSecurity等。我相信很多程序员不管是在面试中,还是在日常开发中,总会面临各种挑战和考验,唯有系统性地掌握Spring编程思想、设计理念,以及具体的实现方式,方可游刃有余

    2022年7月7日
    33

发表回复

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

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