鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: bszs

[已解决]数组名与数组第一个元素地址还有数组的地址的区别

[复制链接]
 楼主| 发表于 2021-9-27 21:19:48 | 显示全部楼层
人造人 发表于 2021-9-27 21:04
我写了那么多(还有那个两个帖子的内容),你看懂了多少?
你目前哪里不明白?

图片上的代码和输出我全明白,我看了数组指针和指针与二维数组后一直迷糊数组名,数组指针赋值给指针的是数组的地址,解引用后就是数组首元素的地址,但是二维数组第一层解引用得到的地址具体是哪个类型我搞不清
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-27 21:23:34 | 显示全部楼层
2736946915 发表于 2021-9-27 21:08
这个就得看你是怎么理解的了,简单理解可以区分,因为怕刚开始学习,把数组和指针弄混淆,
区别就在于:
...

数组名是个地址常量,而指针是个地址变量,,那么二维数组数组名是个常量,往里面存入的也是个常量,所以说对二维数组数组名解引用是第一行第一列元素的地址?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-27 22:07:59 | 显示全部楼层
a 就是 &a[0]
b 就是 &b[0]
b[0] 就是 &b[0][0]

*a 就是 *&a[0] 就是 a[0]
*b 就是 *&b[0] 就是 b[0] 就是 &b[0][0]
*b[0] 就是 *&b[0][0] 就是 b[0][0]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-27 22:19:04 | 显示全部楼层
数组名是数组第 0 个元素的地址
#include <stdio.h>

int main() {
    long long a[4][2] = {
        {123, 456},
        {223, 556},
        {323, 656},
        {423, 756}
    };
    long long (*x)[4][2];
    x = &a;
    long long (*y)[2];
    y = a;
    y = &a[0];
    long long *z;
    z = a[0];
    z = a[1];
    z = a[2];
    z = a[3];
    z = &a[0][0];
    z = &a[1][0];
    z = &a[2][0];
    z = &a[3][0];
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-27 22:22:19 | 显示全部楼层
#include <stdio.h>

int main() {
    long long a[4][2] = {
        {123, 456},
        {223, 556},
        {323, 656},
        {423, 756}
    };
    long long (*x)[4][2];
    x = &a;
    long long (*y)[2];
    y = a;
    y = &a[0];
    long long *z;
    z = a[0];
    z = a[1];
    z = a[2];
    z = a[3];
    z = &a[0][0];
    z = &a[1][0];
    z = &a[2][0];
    z = &a[3][0];
    long long i;
    i = *z;
    i = *a[0];
    i = *a[1];
    i = *a[2];
    i = *a[3];
    i = *&a[0][0];
    i = *&a[1][0];
    i = *&a[2][0];
    i = *&a[3][0];
    long long *j;
    j = *y;
    j = *a;
    j = *&a[0];
    long long (*k)[2];
    k = *x;
    k = *&a;
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-27 22:39:45 | 显示全部楼层

感谢大佬我明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-27 22:41:03 | 显示全部楼层
2736946915 发表于 2021-9-27 21:08
这个就得看你是怎么理解的了,简单理解可以区分,因为怕刚开始学习,把数组和指针弄混淆,
区别就在于:
...

感谢感谢,抱歉鱼币只能给一个人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-28 11:46:40 | 显示全部楼层
bszs 发表于 2021-9-27 22:41
感谢感谢,抱歉鱼币只能给一个人

鱼币是啥?干嘛用的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-28 12:51:53 | 显示全部楼层
2736946915 发表于 2021-9-28 11:46
鱼币是啥?干嘛用的?

会员不需要鱼币,但是我问问题要悬赏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 12:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表