gpt4 book ai didi

c - 如何从C中的数组中获取值?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:56 25 4
gpt4 key购买 nike

我有一个像这样的二维数组:

void getC(int **p)
{
*p = &c[0][0];
}

int c[10][10];

int *a;

getC(a);

a[0][0];

it says error: no match for 'operator[]' in `a[0][0];` what is the problem and how to fix it?

最佳答案

  1. 您正在使用 C++ 编译器编译 C 程序。小心!

  2. 您需要将c的定义放在getC函数之上(或提供前向声明)。

  3. 您在函数外有语句,这在 C 语言中是不允许的。用 int main(void) { ... }

  4. 您需要一个 & 来使您的 getC() 调用合法 - 您正在传递一个 int *,但它期望 int **:

    getC(&a);
  5. 声明 a[0][0] 没有效果,而且无论如何都是错误的,因为 a 只是一个 int *;你不能取消引用它两次。

您可能应该得到一本 C 语言入门书并开始学习它。

关于c - 如何从C中的数组中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027388/

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