复习指针及指针的习题讲解

1.指针是什么?

书面语的指针是地址。可以这样理解,将计算机的内存空间当作一家酒店,每个内存单元(1byte)就是一个房间,将每个房间编号,这个号码可以看作是房间的地址,也可以当作是房间的指针。

口头语的指针是指针变量,用来存储地址。

2.指针类型的意义是什么?

a.根据指针类型,解引用操作的时候决定访问多大的内存空间

b.+1/-1操作中,根据指针类型,决定跳过几个字节的内存空间

3.指针的运算

a.指针-指针等于两指针间所包含的元素的个数,如

2.+-整数:是指指针根据指针类型,跳过几个字节的内存空间到达的地址

比如  char *p1=0x0012ff40

         char *p2=p1+1;

         p2=0x0012ff41;

       

  int *p1=0x0012ff40

  int *p2=p1+1;

  p2=0x0012ff44;

3.指针的关系运算:大于、小于、等于、大于等于、小于等于、不等于

对于指针而言,等于、不等于关乎二者所指向的内容是否在一块空间内

对于指针而言,大于、小于等关系是关乎二者指针的大小,就是地址值的大小,地址值小的在存储器的位置比较靠前,地址值大的在存储器的位置比较靠后

4.数组名是什么?

数组名,大多数情况下是指数组首元素地址,但是也有两个例外,在这两个例外中数组名代表的是整个数组:

  a.sizeof(数组名)

  b.&数组名

5.指针数组、数组指针

指针数组:本质是数组  例:int* arr[10]

数组指针:本质是指针  例:int (*p) [10] (解读:*指向,代表指针;int [10]代表一组十个整型元素的数组;整体意思就是数组指针p指向一组十个整型元素的数组)

6.函数指针、函数指针数组

函数指针:本质是指针 例:表示指向 int Add(int x,int y)的指针可以表示为 int(*pf)(int,int)

函数指针数组:本质是数组 例: int(*pfArr[4])(int,int) 

解读:将例子中的函数指针在理解的过程中,可以解分为int(*)(int,int) pfArr[4](注意:这样的写法是错误的!)

在函数指针含义的基础上,int(*)(int,int)这样的形式,至少是指某函数指针变量指向一个返回值为int型,两个参数均为int型的函数,其写在前可以表明为函数指针类型的数组,也就是函数指针数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值