您的位置:首页 > 其它

C Primer Plus(九) -3指针简介

2016-03-11 16:54 113 查看
关于指针:

1.地址运算符:&

用来读变量的地址

scanf("%d",&a);


这条语句说:函数在一开始定义了一个变量a,并在内存中赋了值。

当键盘输入了一个数,这条语句就会寻找这个变量在内存中的地址,并赋值。

2.简介:

一般来讲:指针是指一个其数值为地址的变量。

char p;
char * fp;
fp = &p; //p在这里指的是一个变量,fp则是一个常量,这个常量的值为p的内存地址。


间接运算符(也叫取值运算符)*:用来获取常量fp为地址的变量的值。


char a;
char * fa;
char b;
fa = &a;
b = *fa;
//在这里,b == a;
//fa得到变量a的地址,*fa就把fa为地址的变量取出来,赋值给b。
//所以a == b;


指针声明:


并不是我们所想的那样简单:

pointer ptr;

因为指针指向变量的地址,变量的类型多样,因而指针的类型也应与变量类型一样才对。

所以:

int *fp;
char *fa;
float *ff;


类型标识符表明被指向变量的类型,* 表示该变量为一个指针。

eg:交换两个数:

void change(int *,int * );

int main(void){

int a = 1,b = 2;

change(&a,&b);

printf("%d %d",a,b);

return 0;
}

void change (int * a,int *  b){

int temp = 0;

temp = *a;

*a = *b;
*b = temp;
}


通过指针,子函数可以操纵上一级函数的变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: