字符串和字符数组长度计算
时间: 2024-01-10 20:04:03 浏览: 39
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!"; // 字符串常量保存到字符数组中
int len1 = strlen(str); // 获取字符串常量的长度
int len2 = sizeof(str); // 获取字符数组的长度
printf("字符串常量的长度为:%d\n", len1);
printf("字符数组的长度为:%d\n", len2);
return ;
}
```
输出结果为:
```
字符串常量的长度为:13
字符数组的长度为:14
```
相关问题
字符串指针和字符数组区别
字符串指针和字符数组都可以存储字符串,但是它们在实现上有一些区别。
字符数组是一种固定长度的数组,用来存储一组字符,数组中的每个元素都是一个字符。在定义字符数组时,需要指定数组的长度。例如:
```
char str[20] = "hello world";
```
这个字符数组可以存储长度为 11 的字符串 "hello world",并且还有 9 个额外的字符位置。字符数组可以被修改,但是一旦定义了长度,就不能再改变长度。
字符串指针是一个指向字符数组或字符串常量的指针,它指向字符串的首个字符。字符串指针可以指向任何长度的字符串,不需要提前指定长度。例如:
```
char *str = "hello world";
```
这个字符串指针也可以存储长度为 11 的字符串 "hello world",但是它不需要指定数组的长度。字符串指针可以被修改,也可以指向其他的字符串。
总的来说,字符数组是一种比较基础的数据类型,需要指定长度,而字符串指针可以指向任何长度的字符串,更加灵活。
c++ 计算字符串数组长度
字符串数组长度可以通过使用 sizeof 运算符来计算,例如:
```
char str[] = "Hello, World!";
int length = sizeof(str) / sizeof(str[0]);
```
这里的 sizeof(str) 将返回整个字符串数组所占用的字节数,而 sizeof(str[0]) 将返回一个字符的字节数。通过这两个值的比较,我们可以得出字符串数组中元素的数量,从而计算出字符串数组的长度。