我写了那么多(还有那个两个帖子的内容),你看懂了多少?
你目前哪里不明白?
图片上的代码和输出我全明白,我看了数组指针和指针与二维数组后一直迷糊数组名,数组指针赋值给指针的是数组的地址,解引用后就是数组首元素的地址,但是二维数组第一层解引用得到的地址具体是哪个类型我搞不清 2736946915 发表于 2021-9-27 21:08
这个就得看你是怎么理解的了,简单理解可以区分,因为怕刚开始学习,把数组和指针弄混淆,
区别就在于:
...
数组名是个地址常量,而指针是个地址变量,,那么二维数组数组名是个常量,往里面存入的也是个常量,所以说对二维数组数组名解引用是第一行第一列元素的地址? a 就是 &a
b 就是 &b
b 就是 &b
*a 就是 *&a 就是 a
*b 就是 *&b 就是 b 就是 &b
*b 就是 *&b 就是 b
数组名是数组第 0 个元素的地址
#include <stdio.h>
int main() {
long long a = {
{123, 456},
{223, 556},
{323, 656},
{423, 756}
};
long long (*x);
x = &a;
long long (*y);
y = a;
y = &a;
long long *z;
z = a;
z = a;
z = a;
z = a;
z = &a;
z = &a;
z = &a;
z = &a;
return 0;
}
#include <stdio.h>
int main() {
long long a = {
{123, 456},
{223, 556},
{323, 656},
{423, 756}
};
long long (*x);
x = &a;
long long (*y);
y = a;
y = &a;
long long *z;
z = a;
z = a;
z = a;
z = a;
z = &a;
z = &a;
z = &a;
z = &a;
long long i;
i = *z;
i = *a;
i = *a;
i = *a;
i = *a;
i = *&a;
i = *&a;
i = *&a;
i = *&a;
long long *j;
j = *y;
j = *a;
j = *&a;
long long (*k);
k = *x;
k = *&a;
return 0;
}
人造人 发表于 2021-9-27 22:22
感谢大佬我明白了 2736946915 发表于 2021-9-27 21:08
这个就得看你是怎么理解的了,简单理解可以区分,因为怕刚开始学习,把数组和指针弄混淆,
区别就在于:
...
感谢感谢,抱歉鱼币只能给一个人 bszs 发表于 2021-9-27 22:41
感谢感谢,抱歉鱼币只能给一个人
鱼币是啥?干嘛用的? 2736946915 发表于 2021-9-28 11:46
鱼币是啥?干嘛用的?
{:10_256:}会员不需要鱼币,但是我问问题要悬赏{:10_256:}
页:
1
[2]