关于指针的总结

指针的数据类型:
定义 含义
int i; 定义整型变量i
int *p p为指向整型数据的指针变量
int a[n]; 定义整型数组a,它有n个元素
int *p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成
int (*p)[n]; p为指向含n个元素的一维数组的指针变量
int f(); f为带回整型函数值的函数
int *p(); p为带回一个指针的函数,该指针指向整型数据
int (*p)(); p为指向函数的指针,该函数返回一个整型值
int **p; P是一个指针变量,它指向一个指向整型数据的指针变量

指针运算的小结

现把全部指针运算列出如下:

1) 指针变量加(减)一个整数。例如:
    p++
    p--
    p+i
    p-i
    p+=i
    p-=i
一个指针变量加(减)一个整数并不是简单地将原值加(减)一个整数,而是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数加(减)。

2) 指针变量赋值:将一个变量的地址赋给一个指针变量。
   
   
  1. p=&a; /* 将变量a的地址赋给p */
  2. p=array; /* 将数组array的首地址赋给p */
  3. p=&array[i]; /* 将数组array第i个元素的地址赋给p */
  4. p=max; /* max为已定义的函数,将max的入口地址赋给p */
  5. p1=p2; /* p1和p2都是指针变量,将p2的值赋给p1 */
注意,不能如下:
p=1000;

3) 指针变量可以有空值,即该指针变量不指向任何变量:p=NULL;

4) 两个指针变量可以相减:如果两个指针变量指向同一个数组的元素,则两个指针变量值之差是两个指针之间的元素个数。

5) 两个指针变量比较:如果两个指针变量指向同一个数组的元素,则两个指针变量可以进行比较。指向前面的元素的指针变量“小于” 指向后面的元素的指针变量。

void指针类型

ANSI新标准增加了一种“void”指针类型,即可以定义一个指针变量,但不指定它是指向哪一种类型数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值