指向相同变量的指针数组

时间:2018-08-10 09:11:58

标签: c arrays

数组的所有指针成员都可以指向同一个变量吗? 例如:当*a[i]指向值为C的变量5并且数组的长度为3时会发生什么? a[0],a[1],a[2]是否具有值5

2 个答案:

答案 0 :(得分:0)

是的,基于this answer

  

如果所有指针都属于同一类型,则没有问题

int a = 10;
int *b[3];

b[0] = &a;
b[1] = &a;
b[2] = &a;

a = 5; // now b[0-2] are also equal 5.

答案 1 :(得分:0)

没有a [0],a [1],a [2]不会指向变量C,您必须明确地使其指向变量C。请考虑以下示例。

  #include<stdio.h>
    void main()
    {
    int *a[3];
    int c=5;
    a[0] = &c;
    printf("%d %d %d", *a[0],*a[1],*a[2]);//this will print 5 junkvalue junkvalue

    a[1] = &c;
    a[2] = &c;

    printf("%d %d %d", *a[0],*a[1],*a[2]);//this will print 5 5 5

     }