| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2329 人关注过本帖
标题:指针无法指向二维数组,呼叫大佬!来自底层世界的求助!
取消只看楼主 加入收藏
拼尽全力
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2019-7-31
结帖率:0
收藏
 问题点数:0 回复次数:1 
指针无法指向二维数组,呼叫大佬!来自底层世界的求助!
无法从“int [2][3]”转换为“int *”
1>          与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换




#include<stdio.h>
int main(void)
{
    int a[2][3] = { {1,2,3},{4,5,6} };
    int *p=a;   
}
搜索更多相关主题的帖子: 指针 指向 世界 int 转换 
2019-08-24 09:08
拼尽全力
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2019-7-31
收藏
得分:0 
这里昨天总结了一下,但仍有疑虑!
=========================================================================================================================================
二维数组定义:数组的数组
float rain[2][3]; 内含2个数组元素的数组,每个数组元素内含3个float类型的元素。
此时可以想象出一个2*3的矩阵,这个二维数组由两个一维数组组成,每个一维数组内含3个float类型的元素.
-——>:rain代表二维数组的行首地址;rain[0]与rain[1]是内含3个float值的一维数组,即rain[0]为一维数组的首地址,那么rain[0][0]是一个float类型的值。

由此可以知道:
int main(void)
{
int a[2][3] = { {1,2,3},{4,5,6} };
int *p=a[0]; // 二维数组中第一行的一维数组的首地址
//int *p=&a[0][0];
}
=======================================================================================================================================================
此外还可以定义一个数组指针; (数组指针是指向数组地址的指针,其本质为指针)

int *p[3] =a;

这个数组指针仍存在疑虑,此处的int *p[3] 是啥意思?p指向的是列吗?   为啥数组指针就可以直接指向二维数组行首地址???
烦请各位路过的前辈指点一二!
 ————————————————
2019-08-25 08:33
快速回复:指针无法指向二维数组,呼叫大佬!来自底层世界的求助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016446 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved