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

© llo 中级黑马   /  2015-7-21 22:24  /  1361 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第八天   数组

Short        2字节        %hd
int        4        %d  %i
long         8        %ld
long long        8        %lld(解决32位)

改变整形长度:





改变符号位     signed  signed
原来最高位用来标识一个数的正负,现在拿来运算
计算机默认有符号位  signed
无符号用%u来输出


数组  构造类型
相同数据类型的有序集合
  数组元素  可以是基本类型   构造类型
  数组下标  从0开始到N-1
  数组维数   一维  二维  多维


数值数组   存数值
字符数组   存字符
指针数组   存指针(地址)
结构数组   存结构体类型的数据
一维数组   所有数组元素都不是数组
定义  --->初始化 -----> 使用
  注意:
      1、数组长度可以是常量或者常量表达式
2、数组命名 严格遵守标识符的规范
3、数组名不可以和变量同名
4、数组的长度不可以是变量
5、数组可以宏定义
6、定义数组时可以定义普通变量
int a[5]; a[0]=1;a[2]=?;随机数(垃圾数)
      数组没有初始化  里面存的是垃圾值
部分初始化   没初始化的部分被系统初始化为0
数组元素是变量
数组引用:数组名[下标]就可以访问数组的元素
数组存入数据  从首地址依次存入
数组名指向它的首地址  等于第一个元素的地址
数组中每个元素占用相同字节
数组中每个元素的地址都是相邻的
先定义的变量地址高后定义的地址低
数组内部的数据存储(先存储在低地址后存储高地址)
  数组名是一个常量 存储的是这个数组的的首地址
           a==&a==&a[0]
a--> 数组名 --> 指向数组的第0个元素  +1后  第一个元素的地址
&a ->数组地址->指向数组的地址 +1后   跳过这个数组的地址
数组存储的总字节==存储个数*sizeof(数组类型)==sizeof(数组名)
数组长度  总长度/数组中任何一个元素在内存中占用字节数
           = sizeof(数组名)/sizeof(数组类型)

越界访问 不安全 因为空间不属于这个数组  数据可能丢失

1.形参数组的类型长度要和实参一致
2.形参数组的长度和实参的长度可以不一致 (可能输出结果不一致)
3.形参数组长度可以不写
4.数组名作为函数参数后数组的长度信息可能丢失(传递过去的是地址)
c语言中所有的地址都占8个字节

评分

参与人数 2黑马币 +3 收起 理由
likang + 1 赞一个!
爱楚楚 + 2

查看全部评分

7 个回复

正序浏览
wdcew 中级黑马 2015-7-22 12:11:39
8#
楼主很不错,支持一下!!!
回复 使用道具 举报
支持一下!!!
回复 使用道具 举报
占楼顶!!!!!
回复 使用道具 举报
楼主很认真,支持!
回复 使用道具 举报
挺详细的 看来楼主下劲了
回复 使用道具 举报
总结的不错正在找呢
回复 使用道具 举报
总结了  学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马