Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.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 gdb如何检查二维数组元素_C_Linux_Debugging_Gdb_Multidimensional Array - Fatal编程技术网

C gdb如何检查二维数组元素

C gdb如何检查二维数组元素,c,linux,debugging,gdb,multidimensional-array,C,Linux,Debugging,Gdb,Multidimensional Array,我很高兴在GDB中调试,然后我找到了一个可能包含错误值的2D数组。 然而,我似乎无法打印一个元素 p array2D[0][0] 给我 无法对不完整的类型执行指针数学运算,请尝试强制转换为已知类型或void* 我试着用谷歌搜索这个,但我找不到任何东西,我也不确定我是否遗漏了一些明显的东西。p arr[0][0]对我有用我的测试代码: #include<stdio.h> int main() { int a[3][3]; a[0][0]=1; a[0][1]=2; r

我很高兴在GDB中调试,然后我找到了一个可能包含错误值的2D数组。 然而,我似乎无法打印一个元素

p array2D[0][0]
给我

无法对不完整的类型执行指针数学运算,请尝试强制转换为已知类型或void*


我试着用谷歌搜索这个,但我找不到任何东西,我也不确定我是否遗漏了一些明显的东西。

p arr[0][0]对我有用我的测试代码:

#include<stdio.h>
int main()
{
  int a[3][3];
  a[0][0]=1;
  a[0][1]=2;
  return 0;
}

所以问题不在于
p arr[0][0]
,而在于其他方面。

p arr[0][0]
对我有效我的测试代码:

#include<stdio.h>
int main()
{
  int a[3][3];
  a[0][0]=1;
  a[0][1]=2;
  return 0;
}

因此,问题不在于
p arr[0][0]
,而在于其他方面。

看起来好像您试图对引用模块内部定义的指针进行操作。能否提供
array2D
的声明?p的类型是什么???
p
是在
gdb
中使用的打印命令,不是吗?具体来说,gdb认为
array2D
是什么类型?用
ptypearay2d
找出答案,我已经得到了答案。我使用了一个变量(顺便说一句,它保持不变),而不是为其中一个索引定义。编译器一定对代码做了一些奇怪的事情。如果我使用#define,我可以通过以下方式查看它:p array2D[0][0],它看起来好像您试图对引用模块内部定义的指针进行操作。能否提供
array2D
的声明?p的类型是什么???
p
是在
gdb
中使用的打印命令,不是吗?具体来说,gdb认为
array2D
是什么类型?用
ptypearay2d
找出答案,我已经得到了答案。我使用了一个变量(顺便说一句,它保持不变),而不是为其中一个索引定义。编译器一定对代码做了一些奇怪的事情。如果我使用#define,我可以通过以下方式查看它:p array2D[0][0]