Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202510
  • 博文数量: 80
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 824
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-12 21:40
个人简介

只有今天的埋头,才有明天的出头。

文章分类

全部博文(80)

文章存档

2014年(80)

我的朋友

分类: C/C++

2014-10-11 22:59:08

数组是一片连续的内存空间。

数组隐性显示:

int a[] 没初始化打印出来是随机数

int a[5] = {1, 2};后面的元素没初始化,编译器默认是a[5] = {1, 2, 0, 0, 0};

memset (a, 0, sizeof(a));不叫初始化,而是调用函数来给数组赋0值,低效。可以用a[5] ={0}; 初始化效率高。

数组地址与数组名?

数组名代表数组首元素的地址,数组的地址需要用取地址符&才能得到,数组首元素的地址值与数组的地址值相同,数组首元素的地址a与数组的

地址 &a 是两个不同的概念。

 

数组名盲点?

数组名指向的是内存中数组首元素的起始位置,数组名是一个常量指针,在表达式中只能作为右值使用。

只有在下列场合数组名不看做常量指针:

1).数组名作为sizeof操作符的参数;2).数组名作为&运算符的参数。

 

数组名其实并不是指针,在外部声明时不能混淆?

主要因为“指针会寻址,数组不寻址”

 

阅读(946) | 评论(0) | 转发(0) |
0

上一篇:指针基础

下一篇:数组与指针

给主人留下些什么吧!~~