Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 指向同一变量的指针数组_C_Arrays - Fatal编程技术网

C 指向同一变量的指针数组

C 指向同一变量的指针数组,c,arrays,C,Arrays,数组的所有指针成员是否都指向同一个变量? 例:当*a[i]指向值为5的变量C且数组长度为3时会发生什么情况?a[0]、a[1]、a[2]是否具有值5?是,基于 如果所有指针的类型都相同,则没有问题 没有A〔0〕,A〔1〕,A〔2〕不会指向变量C,必须显式地使它们指向变量C。p> #include<stdio.h> void main() { int *a[3]; int c=5; a[0] = &c; printf("%d

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

是,基于

如果所有指针的类型都相同,则没有问题


没有A〔0〕,A〔1〕,A〔2〕不会指向变量C,必须显式地使它们指向变量C。p>

  #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

     }
#包括
void main()
{
int*a[3];
int c=5;
a[0]=&c;
printf(“%d%d%d”、*a[0]、*a[1]、*a[2]);//这将打印5个junkvalue junkvalue
a[1]=&c;
a[2]=&c;
printf(“%d%d%d”、*a[0]、*a[1]、*a[2]);//这将打印5
}

数组的长度与每个元素指向的对象无关。如果在指针数组中的每个指针中指定相同的地址,那么根据指针工作方式的定义,它们都将指向相同的数据。如果你的问题有实际的代码,正确的格式和演示你在理解中遇到的问题,那么你的问题会更有意义。不,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

     }