文章目录

  • 一、数组本质
  • 二、数组长度定义
  • 三、数组初始化
    • 1、编译时初始化
    • 2、显式初始化 ( 重置内存 )

一、数组本质


数组本质 :

  • 类型角度 : 从 数组元素 类型角度分析 , 数组是 相同类型 变量的 有序集合 ;
  • 内存角度 : 从 内存角度 分析 , 数组 是 一块连续的 内存空间 ;

数组变量 占用的 内存大小 , 就是 数组本身的内存大小 ; 指针变量 占用的 内存大小 只有 444 字节 ;

二、数组长度定义


数组长度定义 :

  • 显示指定数组长度 : 数组定义时 , 在 [] 中显示指定数组长度 ;
int array[3];
  • 隐式指定数组长度 : 数组定义时 , 在 [] 中不指定数组长度 , 在后面的初始化的数组值中 , 初始化的元素个数就是数组的长度 ;
int array[] = {1, 2, 3};

三、数组初始化


1、编译时初始化

下面的操作 , 在编译时 , 就确定了 数组 初始化值 ;

隐式指定长度 , 顺便初始化 , 数组长度 333 , 初始化 333 个数组元素 ;

int array[] = {1, 2, 3};

显示指定长度 , 数组中有 333 个元素 , 为 333 个元素都指定初始值 ;

int array[3] = {1, 2, 3}

显示指定长度 , 数组中有 333 个元素 , 仅为第一个数组元素指定了 1 初始值 , 第 2,32,32,3 个元素默认为 0 值 ;

int array[3] = {1}

显示指定长度 , 数组中有 333 个元素 , 333 个元素 , 都默认指定为 0 值 ;

int array[3] = {0}

2、显式初始化 ( 重置内存 )

使用 memset 函数 , 显示初始化 数组 内存空间 ;

int array[3] = {0};
memset(array, 0, sizeof(array));

【C 语言】数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )相关推荐

  1. 【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )

    文章目录 总结 一.多维数组本质 二.完整代码示例 总结 n 维数组名称本质 是 n-1 级数组指针 一.多维数组本质 给定多维数组 : // 声明一个多维数组int array[2][3]; 打印二 ...

  2. a和a的区别、二维数组的本质及多维数组

    1 a和&a的区别 int a[10] = {1,2};//其他初始化为0 a代表数组首元素的地址,不是整个数组的地址 &a表示整个数组的地址 &a,a代表的数据类型不一样 & ...

  3. c语言不允许对数组的大小做动态定义,数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt...

    <数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt>由会员分享,可在线阅读,更多相关<数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt(32页珍藏版)> ...

  4. mysql中声明数组_SQL数据库中怎么定义数组

    static void Main(string[] args) { int[] numArr = new int[10];//定义数组 Console.WriteLine("请输入10个数: ...

  5. javascript 中数组的部分内容(定义数组)

    数组也是一种对象,这种对象被称为数组对象,每一个数组元素都有一个索引号,通过索引号可以方便的引用数组数据. 数组是唯一的 在javascript中存储和操作有序数据集的数据结构. 这里定义数组的方式 ...

  6. c语言file_C语言编程第20讲——几个有用的编译时才确定值的符号

    在C语言编程中,有五个符号,它们的值在编译时,才由编译器替换成常量值,对程序员非常有用. 1.__STDC__ 如果编译器支持标准C语言,则将__STDC__变为1,否则变为0. 例如下面的代码: # ...

  7. Rust语言——无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争...

    2006年,编程语言工程师Graydon Hoare利用业余时间启动了Rust语言项目.该项目充分借鉴了C/C++/Java/Python等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在 ...

  8. java固定数组_Java在固定长度的数组里加入一个数

    展开全部 题目:给定一个有序的数组{13, 15, 19, 28, 33, 45, 78, 106},如果往该32313133353236313431303231363533e59b9ee7ad943 ...

  9. c语言函数参数类型检查,内联函数在编译时是否做参数类型检查?

    先说宏和函数的区别: 1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型. 2. 宏的参数替换是不经计算而直接处 ...

最新文章

  1. 从零学web前端_从零到前端英雄(第2部分)
  2. 信息系统项目管理师案例分析答题技巧
  3. PHP大文件分片上传
  4. C++happy number开心数的实现算法(附完整源码)
  5. ELK 经典用法—企业自定义日志收集切割和mysql模块
  6. 位运算之左移右移运算之详解
  7. js图片加载效果(延迟加载+瀑布流加载)
  8. Spark面试术语总结
  9. Python数据分析(一):Pandas、Numpy
  10. 最全电缆直径和电缆流过电流计算以及对照表
  11. 用python解“计算工资”题
  12. HubilderX更新记录
  13. PHP算法之杨辉三角
  14. 淘宝商品点赞可以增加权重吗?
  15. hadoop中namenode退出安全模式
  16. 前沿人物(零)——伯特霍尔德霍恩
  17. php twig中文手册,使用技巧 · Twig 中文文档 · 看云
  18. 奇点临近:人类文明延续
  19. 计算机网络:P3.1-数据链路层(上)
  20. 用ardupilot 做无人船项目的总结

热门文章

  1. 关于angular的$resource中的isArray属性问题
  2. 在WAS中得到OracleConnection
  3. MATLAB中设置figure的边框
  4. hdu-5900 QSC and Master(区间dp)
  5. 鸟哥linux私房菜第6章笔记
  6. winform下通过webclient使用非流方式上传(post)数据和文件
  7. Eclipse插件使用links目录的用法
  8. 【踩坑】遇到 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 报错...
  9. Cache系列:spring-cache简单三步快速应用ehcache3.x-jcache缓存(spring4.x)
  10. ( function(){…} )()和( function (){…} () )是两种立即执行函数