指针的使用方法
int *p = &a; //可以在定义时进行初始化
int x, y, *px = &x, *py = &y;//可以与普通常量一同被定义
y = *px + 5; //表示把x的内容加5并赋给y,*px+5相当于(*px)+5
y = ++*px; //px的内容加上1之后赋给y,++*px相当于++(*px)
y = *px++; //相当于y=(*px)++
py = px; //把一个指针的值赋给另一个指针
指针的特点
指针变量在定义时必须在变量名前加上特殊符号“*”,在对赋值时变量名前不能加上特殊符号“*”。 例如:int *p = &a; 因为指针变量储存的是一个地址,所以对其的赋值本质上是将变量的地址给指针变量。 例如: p = &a;(指针变量已被定义) *p等价于它所指向变量(例如上示中的),故对其赋值本质上就是修改其对应变量的值。
实际示例如下
#include<stdio.h>
int main(){
int x, y, a, *px = &x, *py = &y;//可以与普通常量一同被定义
int *p = &a; //可以在定义时进行初始化
y = *px + 5; //表示把x的内容加5并赋给y,*px+5相当于(*px)+5
printf("*px + 5的值为%d\n", y);
y = ++*px; //px的内容加上1之后赋给y,++*px相当于++(*px)
printf("++*px的值为%d\n", y);
y = *px++; //相当于y=(*px)++
printf("*px++的值为%d\n", y);
py = px; //把一个指针的值赋给另一个指针
printf("*py指向的y值为%d\n", *py);
getchar();
return 0;
}
|