指针的指针

int a=1;
int *c;
c=&a;

给变量a赋值 1

新建一个指针变量c

把变量a的指针赋值给变量c

-----------------------------------------------------------

int *p;

定义个变量,定义变量p类型为 int*

int* 类型: 指向int的指针

int **p;

定义个变量,定义变量p类型为 int**

int**类型:指向int的指针的指针

---------------------------------------------------------

typedef struct{
    int a;
    int b;
}M;

int main(int argc, char *argv[])
{
    M c;
    printf("%d\n",&c);
    M b;
    printf("%d\n",&b);//b的地址
    b = c;//b的值等于c
    printf("%d\n",&b);//b的地址未变

    M* ca = (M*)malloc(sizeof(M));
    ca->a = 3;
    M* ce = (M*)malloc(sizeof(M));
    printf("%d %d  ca ce\n",&ca,&ce);
    ce = ca;//指针ce的值等于ca
    printf("%d %d \n",&ce,ce->a);//ce指针的地址未变
    
   return 0;
}

 

posted @ 2013-09-29 14:28  晨祷  阅读(176)  评论(0编辑  收藏  举报