gpt4 book ai didi

gcc 编译器中的 C 变量声明 - 编译时错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:21 24 4
gpt4 key购买 nike

假设以下 C 变量声明:

int *A[10], B[10][10];

以下表达式:

  1. A[2]
  2. A[2][3]
  3. B[1]
  4. B[2][3]

如果用作 C 程序中赋值语句的左侧,则不会产生编译时错误。

A) 只有 1、2 和 4

B) 仅 2、3 和 4

C) 只有 2 和 4

D) 只有 4

我已经在 gcc 编译器上试过了。我将值“0”分配给上述所有变量。只有第三个显示错误。我真的不明白原因。有人可以解释一下原因吗?

最佳答案

  1. 您可以将 0 赋值给 A[2],因为 A 是一个指针数组,您可以将 0 赋值给一个指针(它是一个 NULL 指针)。
  2. 您可以将 0 分配给 A[2][3],因为在此级别您使用的是 int
  3. 不能将 0 赋值给 B[1],因为 B 是数组的数组,而 0 是标量。
  4. 参见 2。

关于gcc 编译器中的 C 变量声明 - 编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703095/

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