指针(一)

指针-----地址
内存区的每一个字节都有一个编号,这就是地址
将地址形象化的称为指针。
数据是分类型的,对不同类型的数据,在内存中分配的存储单元大小(字节数)和存储方式是不同的。
对变量的访问都是通过地址进行的。
直接按变量名进行的访问,称为“直接访问”方式。
间接访问:即将变量i的地址存放在另一变量中,然后通过该变量来找到变量i的地址,从而访问i变量。
指针就是通过地址来体现的。
一个变量专门用来存放另一变量 的地址(即指针),则他称为指针变量,指针变量的值是地址(即指针)。
定义指针变量:
基类型 *指针变量名
说明:基类型可以是任意数据类型
说明其后的变量名是指针变量名
指针变量名是任意合法的标识符
例如:
pointerA
指针变量赋值:
先定义,后赋值
初始化,定义的同时赋值
通过指针访问变量(间接访问)
*代表指针所指向的内存单元,后面只能跟地址变量。
int a=3;
int *pointerA=&a;
*pointerA=5;//间接访问
a=5;//直接访问
printf(“a=%d”,a); 直接访问
printf(“a=%d”,*pointerA) 间接访问
案例 1
void exchange(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
void main()
{
int
a=3,b=5;
exchange(a,b);
printf(“a=%d,b=%d”,a,b);
}
案例2
void exchange2(int * x,int * y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void main()
{
int
a=3,b=5;
exchange2(&a,&b);
printf(“a=%d,b=%d”,a,b);
}
案例3
void exchange3(int * x,int * y)
{
int *t;
t=x;
x=y;
y=t;
}
void main()
{
int
a=3,b=5;
int *pointerA=&a;
exchange3(&a,&b);
printf(“a=%d,b=%d”,a,b); //3,5
printf("&a=%d,&a=%d,&pointerA=%d",&a,pointerA,&pointerA);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值