C语言允许初始化列表中末尾出现多余的逗号
C语言允许初始化列表中出现多余的逗号,例如:
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, };
为什么这种特性是有用的?
#include <stdio.h>int main(int argc,char** argv){enum qs{Va = 5,Vb,Vc,} s;printf("a=%d,b=%d,c=%d",Va,Vb,Vc);return 0;
}
像enum枚举中的条目有可能是根据其它资源来的,而程序员会制作代码生成工具来生成它,所以就允许enum中的多余逗号。像int i = 9,j = 0;这种用法完全可以拆成int i=9;int j=0;因此不会增加代码生成器的负担,所以不支持int i=9,j=0,;
像这种代码,如果用代码生成器去读资源然后写进去,那么每生成一行都需要在末尾加一个逗号来分隔。C允许最后一行有多余的逗号,那就可以不用单独去处理最后一行了,减轻了代码生成器的制作负担,同时因为不用自行删除最后一个逗号,代码生成器的编写也就更不容易出错了。
C语言允许初始化列表中末尾出现多余的逗号相关推荐
- C++经典问题:如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B?
对象成员特点总结: (1)实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数. (2)如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的 ...
- C++中类成员变量在初始化列表中的初始化顺序
引子:我们知道,C++中类成员变量的初始化顺序与其在类中的声明顺序是有关的. 先看代码: 1 class TestClass1 2 { 3 public: 4 TestClass1() { 5 cou ...
- 【c++】构造函数初始化列表中成员初始化的次序性
上代码 #include <iostream> using namespace std;class A {public:A(int v): j(v + 2), i(j) {}void pr ...
- C++成员变量初始化列表中初始化顺序
1.C++使用初始化列表初始化时,成员变量的初始化顺序:只与定义变量的顺序有关. #include <iostream> using namespace std; class A{ pri ...
- 删除所有奇数顺序表c语言,如何删除列表中的所有奇数序数项?
您的代码失败了,因为您试图修改正在迭代的列表,而不考虑副作用.你知道吗x = ['apple','fruit','orange','fruit','lemon','fruit'] for i in r ...
- 类的初始化列表_【Flutter 111】Flutter手把手教程Dart语言——类、类的的成员变量和方法、类的构造函数...
类 Dart是一种面向对象的语言,所有对象都是一个类的实例,而所有的类都继承自Object类.每个除了Object类之外的类都只有一个超类,一个类的代码可以在其它多个类继承中重复使用. 类的实例变量 ...
- C++中初始化列表的使用
文章目录 1 C++中初始化列表的使用 1.1 类成员的初始化 1 C++中初始化列表的使用 1.1 类成员的初始化 C++中提供了初始化列表对成员变量进行初始化. 语法规则: 注意事项: 成员的初始 ...
- 28.构造函数中,成员变量一定要通过初始化列表来初始化的?
首先要明确:如果对象成员是const或者引用的话,必须将其初始化! 构造函数中,成员变量一定要通过初始化列表来初始化的的几种情况! 1)对象成员是const或者引用 #include <iost ...
- c++构造函数成员初始化中赋值和初始化列表两种方式的区别
先总结下: 由于类成员初始化总在构造函数执行之前 1)从必要性: a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数 b. 成员是常量或引用:成员无法赋值,只能被初始化 ...
最新文章
- You must restart adb and Eclipse问题的解决
- 产业|MIR睿工业:2018年机器人市场分析报告
- crash工具解析_Linux 后台开发常用调试工具
- Sql:成功解决将sql输出的datetime时间格式转为常规格式
- Linux 下使用 Sar 简介
- 南京工程学院计算机组成原理第二版答案,南大__计算机组成原理第二次作业
- windows常用命令集锦
- MySQL group-by-modifiers
- 表单流程中获取当前执行人填写的审批意见
- 网页中引用两个css冲突怎么办
- Windows中安装Electron说明
- 简述div标签和span标签的不同_div与span的区别是什么?
- Mac M1安装配置OpenCV教程
- 如何让Low Poly好看
- 【数据挖掘】数据挖掘简介及十大经典算法
- 陕西西安职高计算机学校有哪些,2019西安中职学校名单(含公办与民办名单)...
- Matlab开发Web App服务器
- 用python画花球_只靠一把小小剪刀!她把这些花养成了花球!
- 安装ale_python_interface报错
- 1267 'Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_gener
热门文章
- 短文改错高考真题500题分析专栏初衷
- 互联网进入中国的先驱是谁?
- 使用Aviationstack实时航班跟踪API进行航班跟踪
- 05【投资】成为富人的三个秘密
- 关联规则可视化python语言_关联规则可视化 - 猪猪daxia的个人空间 - OSCHINA - 中文开源技术交流社区...
- java sql 引号_java拼接sql语句里的单双引号
- 飞腾CPU体系结构(十四)
- 机器人——数据中心的新“网管”
- html设置div滚动条实现超简单
- java web应用程序设计填空题_Java Web程序设计题库答案