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

来源:互联网 发布:手机淘宝帐号在哪里看 编辑:程序博客网 时间:2024/05/21 06:52

关于指针:
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;} 

通过指针,子函数可以操纵上一级函数的变量。

0 0
原创粉丝点击