声明后可以初始化char类型变量吗?

时间:2018-11-30 14:38:49

标签: c++ char initialization

你好,这是入门程序员,我想我还不是程序员,因为我还在学习基本语法。

这是我的问题。我可以在C ++中声明后初始化char类型变量吗?还是只能在声明时初始化char?

1 个答案:

答案 0 :(得分:0)

您只能在定义变量时对其进行初始化。例如

char ch = 'a';

ch定义为char,并使用字符文字'a'对其进行初始化。如果你有

char ch;
//...
ch = 'a';

然后您将不再初始化ch,而是分配给它。在达到ch = 'a';之前,ch有一些未指定的值 1 ,在达到ch = 'a';之前使用其值将是未定义的行为。理想情况下,您应该始终初始化变量,使其具有已知状态,并且由于可以随时声明变量,因此可以推迟声明变量,直到知道要初始化的内容或何时立即设置它为止。例子

//some code
// oh, I need to get a char from the user
std::cout << "Yo, user, give me a character: ";
char ch; // no initialization but it is okay as I set it immediately in the next line
cin >> ch; // now ch has a value
// more code

1:在某些地方会为您初始化它。例如,如果ch是在全局范围内声明的,那么它将为您初始化为零