文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C/C++语言中的指针与数组(二)

C/C++语言中的指针与数组(二)

时间:2010-10-22  来源:IT老杨

一、什么是指针

  要想理解什么是指针,首先我们要树立的一个概念就是:指针就是一个变量(也就是内存中的小格子:内存空间)

注意:这里很多人可能会反驳我说:指针不是存放变量地址的吗?怎么成了变量了。如果你也这样理解的话。那你永远不能真正理解数组。既然指针是变量。也就是一块内存空间。那它跟普通变量有什么区别呢?他们的核心区别就是:

普通变量这个内存空间(小格子)里放的是一个普通数据。比如:(整数型12)、(浮点型123.12)、(字符型‘a’)等。

指针变量这个内存空间(小格子)里放的是一个16进制的地址数据。比如:0x00402FE2 。而这个地址就是存放普通变量的内存地址。

综上所述:指针其实就是一个特殊的变量而已。既然是一个特殊的变量。那大家是不是觉得好理解多了呢。

二、指针的定义

1、一级指针

 

  int* p=NULL; //  表示这个指针变量P存放的是一个整形变量的地址。并把这个指针初始化为空。

  int x=23;//定义一个整形变量

p=&x;//给指针变量赋值。把普通变量x的地址赋给了P

 

注意:有很多初学者容易出现赋值类型不匹配的错误。比如:搞混  p=x; 还是 p=&x,这里我给大家讲一个技巧。你学会了以后。你就不会出现这个错误了。

“ = ”我们大家都知道是一个赋值符号,这个符号有个定式就是:赋值符号两边的数据类型必须一致。 大家一定要记住。写赋值语句的时候一定要先看看两边的数据类型是不是一致。如果不一致就要考虑是不是写错了。或者需要强制类型转换。由于赋值符号的运算顺序是:把右值赋给左值。所以我们只要关注:右值类型是不是跟左值一致就行了。

 

2、二级指针

 int **pp=NULL;

int *p=NULL;

pp=&p;

从以上语句中可以看出二级指针其实就是 存放指针变量的地址 的一个变量。

 

3、多级指针

int ***ppp=NULL;

 int **pp=NULL;

int *p=NULL;

pp=&p;

ppp=&pp;

 

以上就是指针的基本概念。以及指针的基本定义。你理解了吗?

 未完待续。。。。

 

 

 

 

 

如果有想系统学习C++这门编程语言的朋友也可以参加北京智盟培训中心的C++课程培训(http://www.witunion.com/Curriculum/feature3.html)

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载