让我们说:int A [5] [2] [3]; 现在,如果我这样做:A [1] [0] [0] = 4; 这是否意味着:
1.)A [1]和A [1] [0]是指针?
2.)如果A [1]是指针,那么它将存储指针A [1] [0]的地址?
3.)如果A [1] [0]是指针,那么它将存储A [1] [0] [0]的地址,它不是指针而只是存储4的值的变量?
如果以上几点是正确的,那么为什么dos下面的代码给我们相同的整数地址:
int main(void)
{
int A [5] [2] [3];
A[1][0][0]=4;
printf("%d\n\n", A[1]);
printf("%d\n\n", A[1][0]);
printf("%d\n\n",&A[1][0][0]);
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
这里,我假设A [1]是指向另一个指针A [1] [0]的指针,因此存储指针A [1] [0]的地址.并且,A [1] [0]是指向VARIABLE A [1] [0] [0]的指针,因此存储VARIABLE A [1] [0] [0]的地址.
请帮我!
有人可以解释一下为什么不能'\0'在给定数组中放置一个字符:
char a[]={'r','b'};
a[2]='\0';
Run Code Online (Sandbox Code Playgroud)
上面的代码不应该在第三个插槽中放置一个空字符,因此将字符数组a转换为字符串.
我在c中编写了以下代码,以检查代码是否会中断:
int main(void)
{
int A [5] [2] [3];
printf("%d\n\n", A[6]);
printf("%d\n\n", &A[6][0][0]);
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
现在,代码没有破坏,这是我没想到的.当我们声明一个多维数组:时int A [5][2][3],概念上并不意味着它的第一级中的A是一个包含5个元素(0 - 4)的一维数组,并且该数组的每个元素本身都是一个包含2个元素的一维数组并且该数组的每个元素都是一个包含3个元素的一维数组?如果这个概念是正确的,那么A[6][0][0]甚至可以
存在 - 因为在第一级我们只有5个元素(基于0).
任何帮助将不胜感激.
c ×3