A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© flywithde 中级黑马   /  2015-8-3 09:24  /  514 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组定义时使用的数据类型是指数组中存储的数值的类型,并不是数组的类型
定义数组时,数组的长度可以是常量、常量表达式和宏定义不能是变量,但是在xcode下被优化可以使用变量,但是如下形式定义的数组在xcode下的初始化是不行的:
                       int len = 3, a[len] = {1,2,3};//xcode会报错

数组名不能和其他变量名同名
若数组没有初始化,其元素有值,但是垃圾值;若采用定义时就初始化的方式定义数组,若数组进行了部分初始化,则未初始化的部分,系统默认给我们初始化为0;若采用先定义后初始化的方式定义数组,则未初始化的部分系统不会给我们默认初始化为0
数组名代表数组的首地址等于数组第一个元素的地址;数组名是一个常量,存储的是数组的首地址,当数组被创建时就存在了,不允许再修改
sizeof()计算变量在内存中占用的字节数
数组长度的计算方法:int a[10],length=sizeof(a)/sizeof(int);
数组名作为实参传递时,是地址传递,即在调用函数的时候将数组的首地址传递给形参,不会再在内存空间中为该形参再分配存储空间。并且传递过程中,数组的长度信息会丢失,传递后数组的长度统一是8个字节,因为C语言规定,数据的地址在内存中占用的存储空间是8个字节。
数组名作为实参传递时,实参和形参的类型和长度必须一致,虽然不一致也不会报错,但是得到的结果是未知的,无法正确使用该数组;传递时,可以不指定形参数组的长度。
要避免在使用数组时发生越界问题,虽然xcode也不会报错,但是越界的数组元素中存放的数据是不安全的。
若采用先定义后初始化的方式定义一个数组,则在定义数组的时候,必须指明数组的长度

1 个回复

倒序浏览
收藏着以后忘了再拿出来看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马