定义与引用指针

定义指针变量的一般形式为:

类型名  *指针变量名;

例如:

int  *p;

通过下面这个例子可以更加详细理解指针变量:

#include<stdio.h>
int  main( )
{
    int  a = 2 , b = 3;
    int  *p1 , *p2;
    p1 = &a;
    p2 = &b;
    printf(“a = %d , b = %d\n” , a , b);
    printf(“*p1 = %d , *p2 = %d\n” , *p1 , *p2);
    return  0;
}

运行结果是:

a = 2 , b = 3
p1 = 2 , p2 = 3

定义指针后,要告诉系统这个指针指向的变量是谁,例如上例中的6、7行。给指针赋值后就可以通过指针来访问指针指向的变量了,在第9行,通过 * 号和指针变量名来代表这个指针变量指向的内容。

指针变量同时可以作为函数的参数,例如下面的例程,通过函数交换两个变量的值:

#include<stdio.h>
void  swap(int  *p1 , int  *p2)
{
    int  temp;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}
int  main()
{
     void  swap(int  *p1 , int  *p2);
     int  *point1 , *point2;
     int  a = 1 , b = 2;
     point1 = &a;
     point2 = &b;
     printf(“a = %d , b = %d\n” , *point1 , *point2);
     swap(point1 , point2);
     printf(“a = %d , b = %d\n” , *point1 , *point2);
     return  0;
}

可以思考一个问题,main函数中两个指针变量的指向改变了没有?

这本书是xt写的上次修改: 2019-04-18 15:37:19

results matching ""

    No results matching ""