C语言之旅(2)数组
来源:互联网 发布:层次数据库模型举例 编辑:程序博客网 时间:2024/05/21 10:07
int arr[4]={1,2,3,4};
1.什么是数组?
数组就是一堆相同元素的集合。其实数组也是变量。
2.数组的类型是什么?
例如上面 的例子,去掉变脸股名arr,剩下的int [4]就是数组的类型。
3.中括号的意义是什么?
在这里有两种意义:1.用于定义数组;2.用于间接引用。
4.什么是间接引用?
当你定义一个如上的数组的时候相当于向内存申请了一段连续的4个int类型的空间,也就是4*4=16个字节空间用于存储数组元素。
什么是数组元素,数组中的1,2,3,4就是数组元素。那么arr[0]就相当于访问的第一个元素1,arr[1]就是2,等等。这就是间接引用。
5变量名的含义?
arr是数组的名字,也是数组首元素的首地址,首元素就是1,所以arr就是元素1的地址。但是&arr又和arr不一样。&arr:是整个数组的地址。尽管他们数值是一样的,但是意义不一样,对于&arr来说每偏移一位,就相当于偏移了整个数组大小的内存空间。arr的地址类型是int,&arr的地址类型是int [4]。
如下图代码:
在这里面arr+1和arr的地址差别是4个字节,也就是一个元素的类型大小;而&arr和&arr+1的差别为整个数组的内存大小16个字节。
数组的下标为什么从0开始而不是从1开始呢?
因为,上面例题数组的名字arr就是数组首元素的首地址,那么arr[0]就相当于arr+0的意思。就是相对于首元素的偏移量。偏移量为0,所以取出来的就是第一个元素。一次类推进行偏移,直到最后。
阅读全文
1 0
- C语言之旅(2)数组
- C语言之数组
- c语言之数组
- C语言之数组
- C语言之数组
- C语言之数组
- C语言之数组
- C语言之数组
- C语言之数组
- c语言之数组
- C语言之数组
- C语言之数组
- c语言之数组
- C语言之指针和数组 2
- 数据结构(c语言)之动态数组
- C语言 之 字符串(数组)
- 数据结构之数组(C语言实现)
- C语言基础之数组
- Java将list数据取出并加入分隔符拼接,转换成String
- 【Android源码系列】Activity启动源码解析
- char*, wchar*互转
- Mayor's posters POJ
- [批处理命令一日一教学 续](18)转换磁盘系统格式:convert
- C语言之旅(2)数组
- java里的数据类型
- gradle错误
- GD32芯片移植完全攻略-大石头
- 一个工具类搞定drawable下扎堆的selector(原链接:http://www.jianshu.com/p/7fb9567a5869)
- 前后端分离1:使用React+dva+antd快速实现用户列表的展示
- PHP设计模式之工厂
- 回归,不忘初心,再出发!
- HDUOJ1176(DP)