它们有相同的限制

本文详细解释了在C语言中如何初始化字符数组,并介绍了空终止字符在字符串表示中的作用,同时对比了C语言与C++中字符串的不同表示方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这两种情况下,字符数组myword是一个大小为字符型6元素声明:5个字符组成的“你好”,加上最后一个空字符(“0”),它指定序列的结尾,在第二种情况下,当使用双引号(“它将被自动添加)。

请注意,我们在这里讨论的是初始化一个字符数组,目前正在申报,而不是分配给他们的价值观后,(一旦他们已经宣布)。事实上,因为字符串字面值是规则排列,它们有相同的限制,因为这些,不能被分配的值。

表达式(一次myword已经被声明为以上),如:

2
3
4
myword[0] = 'B';
myword[1] = 'y';
myword[2] = 'e';
myword[3] = '\0';

以空终止字符序列平面阵列中使用C语言来表示字符串类型(这就是为什么他们也被称为c-strings)。在C++中,尽管标准库定义了字符串的特定类型(字符串类),不过,以空终止字符序列平面阵列(c-strings)是一个代表在语言的字符串自然的方式;事实上,字符串字面值还总是产生零终止字符序列,而不是字符串对象。

标准库中,两种形式的字符串(c-strings和图书馆的字符串)共存,大多数功能要求的字符串重载的支持。

例如,CIN和法院支持null终止序列,它们可以直接提取CIN或插入cout,就像琴弦。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// strings and NTCS:
#include <iostream>
#include <string>
using namespace std;

int main ()
{
  char question1[] = "What is your name? ";
  string question2 = "Where do you live? ";
  char answer1 [80];
  string answer2;
  cout << question1;
  cin >> answer1;
  cout << question2;
  cin >> answer2;
  cout << "Hello, " << answer1;
  cout << " from " << answer2 << "!\n";
  return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值