小编dex*_*ter的帖子

以下对于 C 编程中的枚举意味着什么?

在我正在读的一本书中,枚举常量是在数组之前介绍的。仅通过几个示例演示了数组的使用。现声明如下:

enum corvid { magpie, raven, jay, corvid_num};

char const * const bird [ corvid_num ] = 
{
  [raven] = "raven",
  [magpie] = "magpie",
  [jay] = "jay",
};

for ( unsigned i = 0; i < corvid_num ; ++i)
  printf ("Corvid %u is the %s\n", i, bird[i]);
Run Code Online (Sandbox Code Playgroud)

这声明了一个新的整数类型枚举 corvid,我们知道它的四个不同值。

要点 - 枚举常量具有显式值或位置值

正如您可能已经猜到的,位置值从 0 开始,因此在我们的示例中,raven 的值为 0,magpie 的值为 1,jay 的值为 2,corvid_num 的值为 3。最后的 3 显然是我们感兴趣的 3。

问题一:

是否[magpie] = "magpie"意味着magpieth 位置指的是 value "magpie"

问题2:

根据循环,how …

c enums types

3
推荐指数
1
解决办法
112
查看次数

C/C++ 中未初始化的变量会怎样?

摘自李普曼的《C++ Primer》,

当我们定义一个变量时,我们应该给它一个初始值,除非我们确定在该变量用于任何其他目的之前该初始值将被覆盖。如果我们不能保证变量在被读取之前会被重置,我们应该初始化它。

  1. 如果在操作中使用未初始化的变量会发生什么?它会崩溃/代码会无法编译吗?

    我在互联网上搜索了相同的答案,但有不同的“说法”。因此出现以下问题,

  2. C 和 C++ 标准在处理未初始化变量的方式上是否有所不同?

  3. 对于类似的疑问,如何以及在哪里可以找到“官方”答案?对于业余爱好者来说查找 C 和 C++ 标准实用吗?

c c++ initialization

1
推荐指数
1
解决办法
1535
查看次数

C/C++ 代码中的额外空格和换行符会发生什么情况?

之间有区别吗;

int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)

int main(){return 0;}
Run Code Online (Sandbox Code Playgroud)

int main(){
return
0;
}
Run Code Online (Sandbox Code Playgroud)

它们都可能编译为相同的可执行文件。C/C++ 编译器如何处理多余的空格和换行符,以及处理换行符的方式与 C 代码中空格的方式是否存在差异?

另外,标签怎么样?如果有的话,在代码中使用制表符而不是空格有何意义?

c c++

0
推荐指数
1
解决办法
515
查看次数

C/C++ 中不允许嵌套注释。但是,当您尝试将一对注释放入另一对注释时,以下错误意味着什么?

考虑 Lippman 的“C++ Primer”中的以下代码,

#include <iostream>

/*
* comment pairs /*   */ cannot nest.
* "cannot nest" is considered source code,
* as is the rest of the program
*/

int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译时,

 $cl -EHsc .\Program.cc
 Microsoft (R) C/C++ Optimizing Compiler Version 19.30.30706 for x86
 Copyright (C) Microsoft Corporation.  All rights reserved.
 
 Program.cc
 .\Program.cc(4): error C4430: missing type specifier - int assumed. Note: C++ does not 
 support default-int
 .\Program.cc(4): error C2146: syntax error: missing ';' before identifier …
Run Code Online (Sandbox Code Playgroud)

c c++ comments

-3
推荐指数
1
解决办法
361
查看次数

标签 统计

c ×4

c++ ×3

comments ×1

enums ×1

initialization ×1

types ×1