鱼C论坛

 找回密码
 立即注册
查看: 1906|回复: 16

二维数组地址问题

[复制链接]
发表于 2015-7-23 14:47:21 | 显示全部楼层 |阅读模式
10鱼币
二维数组
int sorc[3][4]={{80,90,70,100},{81,91,71,99},{84,94,79,98}};
定义一个二维数组
WeChat_1437633924.jpeg

这是一个二维int型数组,每个元素占用4个字节,但是请看图片,为什么行距是10呢,不是4*4=16呢。

最佳答案

查看完整内容

int (*sz)[4];这个 sz 指向的是还有 4个元素的数组的首地址的地址,虽然在数值上是一样的,但是含义不同,指向数组首地址的地址的是 数组指针相当于2级指针,函数返回值为1级指针,固此需要强转,而且此处的+a的长度是以整个数组的长度为基本单位的 加的字节数是a * 4 *sizeof(int)。 这种思维模式在数据结构中很常见!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-23 14:47:22 | 显示全部楼层
骇客king 发表于 2015-7-23 14:51
换个问题
#include
int *fun(int a,int (*sz)[4])

int (*sz)[4];这个 sz 指向的是还有 4个元素的数组的首地址的地址,虽然在数值上是一样的,但是含义不同,指向数组首地址的地址的是 数组指针相当于2级指针,函数返回值为1级指针,固此需要强转,而且此处的+a的长度是以整个数组的长度为基本单位的 加的字节数是a * 4 *sizeof(int)。 这种思维模式在数据结构中很常见!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-23 14:49:04 | 显示全部楼层
脑残了,这是16进制的10,就是16了。。。不好意思,基本问题~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-23 14:49:51 | 显示全部楼层
脑残了,这是16进制的10,就是16了。。。不好意思,基本问题~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-23 14:51:18 | 显示全部楼层
换个问题
#include <stdio.h>
int *fun(int a,int (*sz)[4])
{
//        return sz+=a;
        int *p;
        p=*(sz+a);
        return p;
}
注释那行,为什么提示类型不符合,但是能编译运行,非得强制转一下指针吗?传进来的不就是指针吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-23 14:57:03 | 显示全部楼层
本帖最后由 哥斯拉不说话 于 2015-7-23 15:11 编辑

return *(sz+=a);

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
骇客king + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-23 17:10:58 | 显示全部楼层
这是16进制的10,就是16了

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +2 收起 理由
骇客king + 5 + 5 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 12:01:23 | 显示全部楼层
V一直古代
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 12:06:29 | 显示全部楼层
不知道顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 12:08:07 | 显示全部楼层
~~不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 12:08:43 | 显示全部楼层
不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 12:09:58 | 显示全部楼层
还是不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-26 21:30:26 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-27 09:05:35 | 显示全部楼层
sz是一个"类似"二级指针的东西
你定义返回值为int*
却要返回一个int**
自然报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-1 15:10:07 | 显示全部楼层
传进来的形参是二维指针,返回值是一维的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-5 11:39:07 | 显示全部楼层
十进制与十六进制的区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-5 18:35:44 | 显示全部楼层
为什么那么多正确的回复,,,却还是没有解决的问题呢???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 05:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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