指针的地址、定义时连等赋值、指针的连等赋值 (C/C++学习)
发布于 2006-02-06 12:13 2 阅读:23,751 评论:2 标签: 指针

  1:指针的地址可以由以下方法得到:

    int a = 5;
    int *pA = &a;
    cout<<"The &pA is :"<<&pA<<endl;

  2:在定义的时候赋值是不能连等赋值的:

  例如下面

    int x = y = z = 5;

  此时,编译器会对y 、z报错。同样,对于指针也是如此,例如:

    int *m = *n = *w = 0;

  此时,编译器会对n 、w报错。

  3:对于指针的连等赋值建议使用地址连等赋值:

  对于以下程序,编译器不会报错:

    int *m =0 , *n = 0 , *w = 0;
    *m = *n = *w = 8;//把8改为x(x已定义赋值)也一样

  但是运行程序的时候会出现错误(至少对偶的机子是这样)。Windows XP提示:

    “0x004013bd”指令引用的“0x00000000”内存。该内存不能为“written”。

  所以建议使用:

       m = n = w = &x;           

展开全文  
收起全文