指针与二维数组的问题
本帖最后由 林小某 于 2021-3-10 10:12 编辑#include<stdio.h>
int main()
{
int array={0};
int i,j,j, k = 0;
for(i = 0; i < 5; i++)
{
for (j = 0; j<4; j++)
{
array=k++;
}
}
printf("array = %d\n", *array);
printf("array = %d\n", array);
}
输出都为4;
为什么第一个输出中要array前面要加一个取值操作符,第二个中不用;
第一个去掉符号后是一个乱值,
这是为什么!
array不应该也是一个地址吗,直接输出确实一个值这是为啥? array储存的是一个值
对于一维数组,*array和array表示的都是一个值,
对于二维数组:*array == array,*array == array,因为指针相当于数组的首地址 第一个array如果不加取值操作符表示的是一个一维数组吧(我不太确定哈……)
a存了4个一维数组,是一维数组的名称,首指向第一行一维数组
a是第i行一位数组的名称,首指向一位数组的第一个数。
*a指向一维数组第一个
页:
[1]