gpt4 book ai didi

c - 将指针分配给整数数组时指针类型不兼容

转载 作者:行者123 更新时间:2023-11-30 18:26:22 25 4
gpt4 key购买 nike

我正在输入这个程序,并将 10 个整数数组的地址分配给指向 2 个整数数组的指针。

int (*a)[2],i;
int a1[10]={1,12,3,4,5};
a=a1;
printf("%d",*(*a+1));

输出是 12,但我也收到警告:

"assignment from incompatible pointer type [enabled by default]"

为什么我会收到此警告以及如何消除此警告?

最佳答案

有两个问题:

  1. a 是一个指向两个 个整数数组的指针,但您尝试从一个10 个整数数组中分配它.

  2. a 是指向数组的指针,而a1 则不是。

首先将a更改为指向十个整数数组的指针:

int (*a)[10];

然后为其分配一个指向数组的指针:

a = &a1;

关于c - 将指针分配给整数数组时指针类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17874175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com