社区
C语言
帖子详情
下面程序中g[]和g[][]都可以使用,g到底是一维数组还是二维数组?
laomashitu
2011-08-19 06:44:43
double *ppTmp[8];
double (*g)[8] = new double[8][8];
……
for(i=0;i<nx;i++)
{
ppTmp[i]=g[i];
}
...全文
181
22
打赏
收藏
下面程序中g[]和g[][]都可以使用,g到底是一维数组还是二维数组?
double *ppTmp[8]; double (*g)[8] = new double[8][8]; …… for(i=0;i<nx;i++) { ppTmp[i]=g[i]; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jernymy
2011-08-20
打赏
举报
回复
[Quote=引用 9 楼 whuqin 的回复:]
g是一维数组,里面的元素是double*,指向一块保存有doule元素的内存区。所以可以看成二维数组。
[/Quote]
++
Jade0709
2011-08-20
打赏
举报
回复
g是数组指针,数组指针应该与指针数组相区别。
double (*g)[8]:定义了一个指针,指向的单元为8个double型,所以g的步长为8*sizeof(double)
double *g[8]:定义了一个有8个元素的数组,数组的元素是指向double型数据的指针。
这样来看,问题中定义的g,用作g[i]时其本质是表示一个指向首地址为g+i*8*sizeof(double)长度为8*sizeof(double)的一片内存的指针,用作g[i][j]其本质是内存地址为g+(i*8+j)*sizeof(double)中的内容。
rein07
2011-08-20
打赏
举报
回复
其实只要知道指针及指向的内容就知道哪些是一维数组,哪些是多维数组
modicum_lf
2011-08-20
打赏
举报
回复
[Quote=引用 13 楼 jernymy 的回复:]
引用 9 楼 whuqin 的回复:
g是一维数组,里面的元素是double*,指向一块保存有doule元素的内存区。所以可以看成二维数组。
++
[/Quote]
++
hackbuteer1
2011-08-20
打赏
举报
回复
g是一维数组,里面的每个元素都指向一个double * 元素的存储区,就是又指向一个含8个double的一维数组
,相当于二维数组
wizard_tiger
2011-08-20
打赏
举报
回复
9楼正解!
Jade0709
2011-08-20
打赏
举报
回复
指针和数组是不能混为一团的,虽然有的时候用起来形式是一样的。
Cql_liliang
2011-08-20
打赏
举报
回复
[Quote=引用 4 楼 jxiaoshen 的回复:]
g是这样的一个数组:第i个元素对应于二维数组的第i行
[/Quote]
乱说,g不是一个数组, 而是一个指向数组的指针!!
g759281
2011-08-20
打赏
举报
回复
很好 谢谢
JiangXiang
2011-08-20
打赏
举报
回复
g到底是一维数组还是二维数组?
g是指针!
等待升级
2011-08-19
打赏
举报
回复
[Quote=引用楼主 laomashitu 的回复:]
double *ppTmp[8];
double (*g)[8] = new double[8][8];
[/Quote]
1.数组。元素为指针
2.指针。指向 含8个double的一维数组
++时 偏移不一样
1.偏移一个指针的长度(4字节)
2.偏移一个数组长度(即8*8)
vcf_reader
2011-08-19
打赏
举报
回复
不管几维,内存都按照一维处理
cao_julians
2011-08-19
打赏
举报
回复
[Quote=引用 9 楼 whuqin 的回复:]
g是一维数组,里面的元素是double*,指向一块保存有doule元素的内存区。所以可以看成二维数组。
[/Quote]
为什么有那么多人将g[]形式理解为数组呢?
g[i]只是*(g+i)的另一个指针表达形式而已!
春文秋武
2011-08-19
打赏
举报
回复
g是一维数组,里面的元素是double*,指向一块保存有doule元素的内存区。所以可以看成二维数组。
CJacky++
2011-08-19
打赏
举报
回复
[Quote=引用 2 楼 pathuang68 的回复:]
其实从根本上来讲,所有的多维数组都是一维数组。
[/Quote]
++++
春文秋武
2011-08-19
打赏
举报
回复
g是一维数组,里面的元素是double*,指向别的double元素。所以可以看成二维数组。
cao_julians
2011-08-19
打赏
举报
回复
[Quote=引用 4 楼 jxiaoshen 的回复:]
g是这样的一个数组:第i个元素对应于二维数组的第i行
[/Quote]
概念错误,g是一指针变量,一个!
至善者善之敌
2011-08-19
打赏
举报
回复
[Quote=引用 2 楼 pathuang68 的回复:]
其实从根本上来讲,所有的多维数组都是一维数组。
[/Quote]
++1,所以居士那天说的两种方法还是建议用第一种,哈哈
Jxiaoshen
2011-08-19
打赏
举报
回复
g是这样的一个数组:第i个元素对应于二维数组的第i行
cao_julians
2011-08-19
打赏
举报
回复
g即不是一维数组,也不是二维数组。它是指向8元素数组的指针。
g[0],g[1] 等指向了二维数组的第0行,第1行
g[0][0],g[1][0]等则是行中的元素。
=========================
仔细看看指针表达式部分的知识
加载更多回复(2)
服务器驱动
程序
-下载即用.zip
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 这属于dell PowerEdge 2950服务器的RAID驱动
程序
,这同样归属于dell PowerEdge 2950服务器的RAID驱动
程序
。
【无人机导航】 项目介绍 MATLAB实现基于PSO-RNN-GAN 粒子群优化算法(PSO)结合循环神经网络(RNN)与生成对抗网络(GAN)进行无人机三维路径规划(含模型描述及部分示例代码)
内容概要:本文介绍了一种基于PSO-RNN-GAN混合智能算法的无人机三维路径规划模型,结合粒子群优化算法(PSO)的全局搜索能力、循环神经网络(RNN)的时序建模优势以及生成对抗网络(GAN)的路径生成能力,在MATLAB平台上实现了复杂三维环境
中
高效、平滑、低能耗且具备动态避障能力的路径规划系统。文
中
详细阐述了模型架构,包括三维环境建模、PSO路径搜索、RNN路径平滑、GAN路径创新生成、多目标损失优化及自适应调度机制,并提供了关键模块的代码示例与仿真可视化方法,支持多无人机协同扩展,具备良好的泛化性与工程应用前景。; 适合人群:具备一定机器学习与优化算法基础,从事无人机导航、智能控制、路径规划相关研究或开发工作的科研人员与工程师,尤其适合研究生、算法研发人员及自动化、航空航天领域从业者;
使用
场景及目标:①应用于复杂三维环境下的无人机自主导航路径规划,实现高效避障与节能飞行;②为动态障碍、多目标优化、路径平滑性与动力学约束等问题提供综合性解决方案;③作为智能交通、多智能体协同、自动驾驶等领域路径决策系统的参考模型; 阅读建议:此资源以MATLAB实现为核心,包含模型设计与部分代码,建议读者结合文
中
架构图与代码片段搭建仿真环境,逐步复现并调试各模块功能,重点关注多算法融合机制与损失函数设计,深入理解PSO、RNN、GAN在路径规划
中
的协同作用。
吃鸡宏修改版文件-下载即用.zip
代码转载自:https://pan.quark.cn/s/07f86b25cf67 鼠标宏-
-
89504e470d0a1a0a0000000d4948445200000030000000300802000000d8606ed0000000097048597300000ec400000ec401952b0e1b00000528494441545885cd984b2c3b5f14c7ef996a3de34d1b1a5a1ba95a908844ac88b0b0a8e7825810c1c22352dd0a36421a2a56363616121261e1950891088285d85858205122ded17854db39bfc5fc7f9331d33badaabfdf77d18cebdc733ff79c73e7de3b8088e45f12f3db0062fd73402101f7743a9dc7c7c7e3e3e3e7e7e72121216b6b6bc...
matlab生成正弦光栅条纹
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 The updater in matlab2tikz 0.6.0 (and older) no longer works. Please update manually if you are not using matlab2tikz 1.0.0 or newer! Build Status DOI matlab2tikz is a MATLAB(R) script to convert native MATLAB(R) figures to TikZ/Pgfplots figures that integrate seamlessly in LaTeX documents. To download the official releases and rate , please visit its page on FileExchange. converts most MATLAB(R) figures, including 2D and 3D plots. For plots constructed with third-party packages, however, your mileage may vary. Installation ============ Extract the ZIP file (or clone the git repository) somewhere you can easily reach it. Add the folder to your path in MATLAB/Octave: e.g. - using the "Set Pat...
两阶段鲁棒优化算法的微网多电源容量配置(Matlab代码实现)
内容概要:本文介绍了一种基于两阶段鲁棒优化算法的微网多电源容量配置方法,并提供了完整的Matlab代码实现。该方法针对微电网
中
风能、光伏、储能等多种分布式电源的容量规划问题,充分考虑了可再生能源出力与负荷需求的不确定性,通过构建两阶段鲁棒优化模型,在第一阶段确定电源的最优配置容量,在第二阶段应对实际运行
中
的不确定因素,从而提升系统运行的经济性与可靠性。文
中
详细阐述了模型构建过程、不确定性集合的设定、列与约束生成(C&CG)算法的求解流程,并结合算例验证了所提方法的有效性和鲁棒性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事微电网、综合能源系统、可再生能源集成等相关领域研究的研究生、科研人员及工程技术人员。;
使用
场景及目标:① 学习和掌握两阶段鲁棒优化理论在电力系统规划
中
的具体应用;② 理解并复现微网多电源容量配置的建模与求解全过程;③ 将该方法迁移应用于类似的能源系统优化问题,如储能配置、配电网络规划等。; 阅读建议:建议读者结合Matlab代码逐行理解算法实现细节,重点关注不确定性建模与C&CG算法的迭代求解过程,有条件者可尝试修改算例参数或引入新的电源类型以深化理解和应用能力。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章