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

2022-07-23 14:46:09 浏览数 (1)

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

1.内容简介:

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

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

字符数组的定义:

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

字符串的定义:

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

也可以这样定义:

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

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

举例如下:

代码语言:javascript复制
#include <stdio.h>
#include <unistd.h>

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

    printf("arr1: %sn",arr1);
    printf("arr2: %sn",arr2);
    printf("arr3: %sn",arr3);

    
    return 0;
}

运行结果:

arr1: Hello arr2: Hello arr3: Hello

3.C 的strlen函数:

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

举例如下:

代码语言:javascript复制
#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.cn/126633.html原文链接:https://javaforall.cn

0 人点赞