大家好,又见面了,我是你们的朋友全栈君。
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++标准输入输出头文件。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126633.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...