char str_arr[3][20] = {"Hello", "World", "C"};为什么不用string定义
时间: 2023-07-06 12:20:33 浏览: 72
在 C 语言中,没有内置的字符串类型,因此不能使用 `string` 这个类型来定义字符串数组。字符串通常使用字符数组或者字符指针来表示。
在这个例子中,我们使用的是字符数组来表示字符串数组。`char str_arr[3][20]` 表示一个有 3 个字符串元素,每个元素的长度为 20。这个字符串数组可以用来存储 3 个长度不超过 19 的字符串,最后一位留给了字符串的结束符 `\0`。每个字符串都是由一对双引号或单引号括起来的字符序列。
在 C++ 中,有一个内置的字符串类型 `string`,它可以很方便地表示字符串。例如,可以使用以下代码定义一个包含 3 个字符串的字符串数组:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str_arr[3] = {"Hello", "World", "C++"};
for (int i = 0; i < 3; i++) {
cout << str_arr[i] << endl;
}
return 0;
}
```
在 C++ 中,可以使用 `string` 来定义字符串数组,这样可以更加简单方便地处理字符串。
相关问题
char arr[] = "Hello, world!"; string str(arr);
这段代码的作用是将一个字符数组转换为一个字符串对象。
具体来说,第一行定义了一个字符数组 `arr` 并初始化为 "Hello, world!"。第二行则创建了一个名为 `str` 的字符串对象,并将 `arr` 转换为字符串后赋值给它。
这种方式是 C++ 中常见的将字符数组转换为字符串的方法。另外也可以直接使用字符串字面值初始化字符串对象,如 `string str = "Hello, world!";`。
char str1[]="zhaosi"; char str2[]="wangwu"; char str3[]=."helloworld" 请使用指针数组·计算 三个字符串的最大长度
可以使用指针数组来存储这三个字符串,并遍历数组来计算它们的最大长度。
代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "zhaosi";
char str2[] = "wangwu";
char str3[] = "helloworld";
char *str_arr[] = {str1, str2, str3}; // 定义指针数组
int max_len = 0;
for(int i=0; i<3; i++) {
int len = strlen(str_arr[i]);
if(len > max_len) {
max_len = len;
}
}
printf("最大长度为:%d\n", max_len);
return 0;
}
```
输出结果为:
```
最大长度为:10
```
阅读全文