数组由一系列类型相同的元素构成。

如下定义了一个名为nums由8个int类型元素组成的数组,并且给数组的每个元素分别初始化1...128等值。数组可由下标形式访问,从0开始,因此nums[0]即为数组的第一个元素,以此类推,最后一个元素为nums[7]。

#include <stdio.h>#define SIZE 8int main(void)
{// 定义数组并初始化int nums[SIZE] = {1, 2, 4, 8, 16, 32, 64, 128};for(int i = 0; i < SIZE; i++){printf("第%d个元素值为%d,地址为%p\n", i+1, nums[i], &nums[i]);}return 0;
}

执行结果如下:

第1个元素值为1,地址为000000a9401ff600
第2个元素值为2,地址为000000a9401ff604
第3个元素值为4,地址为000000a9401ff608
第4个元素值为8,地址为000000a9401ff60c
第5个元素值为16,地址为000000a9401ff610
第6个元素值为32,地址为000000a9401ff614
第7个元素值为64,地址为000000a9401ff618
第8个元素值为128,地址为000000a9401ff61c

从每个元素的地址可以看出C中的数组的每个元素是连续的。

如果不给数组初始化访问结果会如何?

#include <stdio.h>#define SIZE 8int main(void)
{int nums[SIZE];for(int i = 0; i < SIZE; i++){printf("第%d个元素值为%d\n", i+1, nums[i]);}return 0;
}

一次执行结果如下:

第1个元素值为16
第2个元素值为0
第3个元素值为1632769273
第4个元素值为32759
第5个元素值为0
第6个元素值为0
第7个元素值为34
第8个元素值为0

二次执行结果如下

第1个元素值为16
第2个元素值为0
第3个元素值为-1924328199
第4个元素值为32759
第5个元素值为0
第6个元素值为0
第7个元素值为34
第8个元素值为0

定义数组时会分配连续的内存空间用来存储数组的元素值,如果没有进行初始化被分配的内存空间之前存储的是什么值取出来就是什么值。

因此每次得到的值完全不同,也完全不可控~~~

待续~~~每天进步一丢丢

C,数组声明、初始化,不初始化会如何?相关推荐

  1. Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组

    1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...

  2. Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝

    数组的定义 数组是相同数据类型的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点 ...

  3. Java基础(五):Java数组声明与初始化

    目录 1.数组声明与定义区别 2.初始化时机 2.1.初始化方法 2.2.数组初始化方式 1.静态初始化 2.动态初始化 3.区别 1.数组声明与定义区别 对于变量来说,java定义就是声明 例如: ...

  4. java 数组声明并初始化_Java数组的声明与初始化

    在<Java数组简介>一节中,我们已经了解了什么是数组.什么是基本数据类型的数组,那么大家是不是迫不及待地想知道一个基本数据类型的数组是什么样子的呢?下面我们就一起来揭开它神秘的面纱吧! ...

  5. JAVA---int数组声明与初始化

    JAVA---int数组声明与初始化 JAVA中int数组声明与初始化: 有3种正确方式同时进行声明与初始化:分别为new int[num],{}以及new int[]{...}.注意,当使用new ...

  6. 变量初始化赋值_java数组的定义及初始化

    数组 数组有两种定义形式. 数组的定义: 这一种形式使用的频率高,推荐使用. int[] ints={1,2,3}; 第二种形式(容易使人混淆因为在开发中可能把这个看成一个数组类型而不是变量名) in ...

  7. 数组的存储与初始化、对象数组、数组作为函数参数

    数组的存储 数组在内存中是一组连续的内存单元,也就是说数组元素是连续存储的.数组名是数组所占内存的首地址. 一维数组是按照下标的顺序存储的,而对多维数组就复杂些,以一定的约定顺序将多维数组存储在连续的 ...

  8. 数组,结构体初始化 {0} (转载)

    一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={1};是把a所有的元素初始化为1. 调试的时查看内存发现不是那么一回事,翻了一下<The C++ Pr ...

  9. python定义字符串数组初始化_字符数组及其定义和初始化,C语言字符数组详解...

    字符数组及其定义和初始化,C语言字符数组详解 字符串的存储方式有字符数组和字符指针,我们先来看看字符数组. 因为字符串是由多个字符组成的序列,所以要想存储一个字符串,可以先把它拆成一个个字符,然后分别 ...

  10. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值

    1. 变量声明 要单纯声明一个变量,可以通过 var 关键字,如下所示: var s string 该示例只是声明了一个变量 s,类型为 string,并没有对它进行初始化,所以它的值为 string ...

最新文章

  1. php怎样验证验证码对错,PHP生成中文验证码并检测对错实例
  2. 岳西中自机器人_中国科学院
  3. R语言观察日志(part4)--paste函数
  4. 全球知名跨境电商,.Net软件工程师招聘,约么?
  5. TensorFlow COCO
  6. Vue中如何实现代码高亮功能?
  7. 教你一种U盘病毒的快速检测方法
  8. [Server] HP DL380 G6更新esxi6.0 SATA 硬盘掉线问题
  9. java实时百分比进度条_Java 进度条百分比简单算法,根据数据量计算
  10. 《艾伦图灵传:如谜的解谜者》阅读笔记
  11. 基于组态王6.55的电能监测系统
  12. 【渝粤题库】广东开放大学 期货与期权 形成性考核
  13. 关于网络拓扑图,你想知道的都在这
  14. Lightly IDE 使用评测
  15. Justinmind_Prototyper官网下载、破解、汉化
  16. 基于Android的蜗要工作app的设计与实现
  17. python爬取国内代理ip_【python】国内高匿代理爬取,并验证代理ip有效性
  18. GBase 8c 全文检索-表检索
  19. 汕尾督办pc端和移动端
  20. win10清理C盘有效的几种方法

热门文章

  1. 艾伟_转载:一个.NET委托的故事:彼得,老板和宇宙
  2. K-means算法和K临近算法
  3. 2020年之HBuilderX manifest.json配置最全详解
  4. 安卓恢复大师怎样恢复手机删除的照片
  5. 交通信号灯自动控制模拟指示系统
  6. vue 数据更新却不render?
  7. java dispo lock_Java Row.getAs方法代码示例
  8. 百度地图API(三)电子围栏—地图点击事件创建多边形
  9. python爬取百度地图_python 爬虫百度地图的信息界面的实现方法
  10. python中的pickle是什么意思_python中pickle模块浅析