首页 > 编程语言 > 详细

C-数组

时间:2015-10-31 13:02:46      阅读:259      评论:0      收藏:0      [点我收藏+]

1, 特点

  •  只能存放一种类型的数据, 比如int类型的数组、float类型的数组
  • 存放的数据成为“元素”

2, 定义格式

      类型 数组名[元素个数】

      int     ages[5]

3,正确:

      int ages[5] = {[3] = 10, [4] = 11};

 

int ages[A] = {10, 11, 12, 14, 16};


int size =  sizeof(ages);

printf ("%d\n", size);//数组占据多少个字节


结果为260//

 

int ages[5] 在内存中的存储形式:

技术分享

所以int ages[‘A‘] 相等于 int  ages[65] 一共有 65*4 个字节

 

 

  1,   错误写法:int ages[5];

           ages = {10,11,12,14};

      //只能在定义数组的同时进行初始化

  2,  正确写法:int count = 5;

            int ages[count];

           ages[0] = 10;

           ages[1] = 11;//定义数组和初始化没有同时进行

      错误写法:int count = 5; int ages [count] = {10, 11, 12};

      //如果想在定义数组的同时进行初始化,数组元素的个数必须是常量,或者不写

 

  • 计算数组元素个数 int count  = sizeof(ages)/sizeof(int);

数组 在内存中的存储细节

  数组里面的元素是从小到大排列的

  如

int main()
{
       char cs[5] = {a, A, D, e, f}
}                                                          

  技术分享   

int ages[3] = {10, 19, 18};

技术分享

ages地址为0x7ff5df43bd8

ages[0]:   0x7ff5df43bd8

ages[1]: 0x7ff5df43bdc

ages[2]:   0x7ff5df43be0

元素地址与数组下标一样是递增的 

 

数组与函数

//数组作为函数参数,可以省略元素个数
//数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
//数组作为函数参数传递时,函数当做指针来使用,在64bit编译器环境下,占据8个字节
//
//改了里面的数组相当于改了外面的数组

void change (int array[])

 

 

 

C-数组

原文:http://www.cnblogs.com/IDRI/p/4925299.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!