C语言-指针

一、指针

指针:一个变量的地址
指针变量:专门用来存储其他变量的地址的变量

定义指针变量:类型 *指针变量名
如:int *a;
*:表示该变量类型为指针变量
在定义指针变量时必须指定类型
只有与指针变量类型相同的变量地址才能放到该指针变量中

赋值语句使指针变量得到另一个变量的地址
p=&i;
指针变量只能存放地址,不能将一个整数赋值给一个指针变量

二、引用指针变量

引用指针变量时,可能会有三种情况:
(1)给指针变量赋值
如:p=&a;
(2)引用指针变量的值
如:printf("%d",p);
(3)引用指针变量所指向的变量
有关的两个运算符
&:取地址运算符,如&a是变量a的指针
*****:指针运算符(间接访问运算符)
如:*p是指针变量p指向的对象的值

三、通过指针引用数组

1、数组元素的指针
用一个指针变量指向一个元素数组

int a[10];
int *p;
p=&a[0];

2、指针的运算
在指针指向数组元素时,可以指针进行如下运算:
p+1:指向同一数组中的下一个元素
p-1:指向同一数组 中的上一个元素
p++:
++p:p指向数组的下一个元素a[1]
p----p
p+i:指向数组的第i个元素
*(p+i)是p+i所指向的数组元素,即a[i]
p1-p2(p1 p2都指向同一数组中的元素):两个地址之差除以数组元素的长度

3、通过指针引用数组元素
引用一个数组元素
(1)下标法:如 a[i]
(2)指针法:如 *(a+i)

int a[10];
int *p,i;
for(p=a;p<(a+10);p++)
printf("%d",*p);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值