c语言定义数组变量初始化为0,c语言数组初始化——int a[N] = {0};
初学数组,以华科的《c 语言与程序设计》为教材,参考了《一站式学习c编程》,后者数组一章有串代码如下
int main(void)
{
int i, histogram[10] = {0};
gen_random(10);
for (i = 0; i < N; i++)
histogram[a[i]]++;
...
}
书上指出“首先把histogram的所有元素初始化为0“, 在两本书上我都未找到对应明确的语法描述
我们知道,不进行显式初始化的情况下,全局变量以及静态变量的初始均为0,局部变量(自动变量)随机
int main(void)
{
a[5] = { 1, 2 };
return 0;
}
上面定义的数组a[0] = 1, a[1] = 2一定,之后未知,我用gcc编译后gdb跟踪
之后初始为0,是个忧伤的故事
还是来实验下int a[5]; 与 int a[5] = {0};吧
#includeint main(void)
{
int a[5];
return 0;
}
显然随机...
int main(void)
{
int a[5] = {0};
return 0;
}
貌似把全部数组元素都初始化成0了,存疑,是否因为初始化a[0]后其余数组元素同时默认初始为0? 我们再来试试这条语法
int main(void)
{
int a[5] = {1};
return 0;
}
说明初始化数组中一个数后其余元素同时初始化为0(至少在我用的gcc里),而并非全部初始化。
那么, a[5] = {0}将数组中元素全初始化为0,这句话是错误的,没有这条语法;“首先把histogram的所有元素初始化为0“,这句话是不严谨的。
实验获得,准确性未知。
——————— —————— ————— ——————— ————— ————— ————— ————
经过yulinlang的提醒,我翻阅了K&R数组初始化(4.9)节,早已说过
——如果初始化表达式的个数比数组元素少,则对外部变量、静态变量和自动变量来说,没有初始化的表达式的元素将被初始化为0。
c语言定义数组变量初始化为0,c语言数组初始化——int a[N] = {0};相关推荐
- java定义数组变量初始化为0_java中怎么数组初始化?
展开全部 //数组定义最方便的就是用for循环来做定义,数组下标是从e69da5e6ba9062616964757a686964616f313333656462620开始,到11的话就是12个数字.要 ...
- 字母c语言定义为什么变量,C语言为什么要规定对所用到的变量要“先定义,后使用”...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 int a=10; 以上一句话对变量a进行了声明,定义以及初始化 extern int a; 以上一句话仅仅对变量a进行了声明,将a的链接属性设置为ext ...
- c语言如何初始化程序,c语言二维数组如何初始化为0 - 全文
c语言二维数组如何初始化 1 有两种方法 (1)在定义时可以直接赋值来初始化 (2)在定义后可以为其元素一个个来赋值 2 示例 123456789101112131415161718192021222 ...
- c语言程序中变量先引用声明,C语言如何跨文件调用函数定义中声明的变量
变量的作用域 我们知道,变量根据其作用域有全局变量和局部变量之分.全局变量作用域是整个文件,并且可以使用关键字 extern 达到跨文件调用的目的.但是局部变量值作用于它当前所在的块(即该变量所处最内 ...
- c51语言定义位变量,C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 。...
C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 . 更多相关问题 铸造全冠颈部肩台通常为A.0.2-0.4mmB.0.03mmC.0.3mmD.0.5-0.8mmE.1.0mm ...
- C语言定义外部变量或函数使得另一个C文件可以调用
比如要在b.c想要调用a.c里的变量aa或函数aaa,则需要将a.c里的变量aa和函数aaa设置为外部变量和函数 方法: 在a.h中声明aa变量和aaa函数: extern int aa;extern ...
- c语言定义eeprom变量,单片机EEPROM的页写入
在向 EEPROM 连续写入多个字节的数据时,如果每写一个字节都要等待几 ms 的话,整体上的写入效率就太低了.因此 EEPROM 的厂商就想了一个办法,把 EEPROM 分页管理.24C01.24C ...
- 在c语言中 使用变量的要求,关于C语言中变量的探讨
摘 要: 在所有的计算机高级语言中,都存在着变量这样一个重要的概念.变量是计算机高级语言程序的重要成分之一.与其他语言中的变量相比,C语言中的变量所包含的内容更为丰富,包括变量的定义.数据类型.变量数 ...
- c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法
网上有很多帖子问C语言中extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉. 变量定义性声明和引用性声明 变量的声明有两种 ...
最新文章
- 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务
- Nginx支持CGI
- @Component注解解析
- c语言计算除法一位小数点,高精度除法小数点位数
- 使用sealos安装K8S集群时,需确保节点的swap是关闭的
- Maven实战(八)——常用Maven插件介绍(下)
- 发布面向Outlook(RPC)的Exchange Server
- 基于.NET Core的简单,跨平台,模块化的电子商务系统-SimplCommerce
- 带你了解AKG正反向算子注册+关联流程
- 【Objective-C】探索Category底层的实质
- 多维灰色预测模型的一点改进
- Spring Boot入门(12)实现页面访问量统计功能
- 请教一下水卡校验算法
- java雀圣麻将游戏_《梦幻麻将馆9雀圣争霸》全攻略
- 深入了解JVM之内存模型(四)
- 厦门考计算机竞赛保送北大清华名单,厦门这所学校130人获清华北大等名校保送资格...
- 大数据毕设 地铁客流分析与可视化系统
- 在家做什么兼职最靠谱?不去上班做什么好?
- Python官网安装
- [python]bokeh学习总结——QuickStart
热门文章
- Error:Could not find appcompat-v7.aar (com.android.support:appcompat-v7:26.1.0). Searched in the fol
- c语言编程运动会分数统计系统报告,独家稿件:定稿运动会分数统计系统设计报告_完整版...
- MKNetWorkKit使用方法
- TCP报文发送的那些事
- 基于vue2 + vue-router + vuex 构建的一个新闻类大型单页面应用 —— 今日头条
- 详细到没朋友,一文帮你理清Linux 用户与用户组关系~
- 20145240 《Java程序设计》第四次实验报告
- Linux下百度云盘报 获取bdstoken失败
- Scrum Meeting 报告
- C++内存分配与对象构造的分离