静态矩阵转换为指针

2023-11-30

我有矩阵 M:

float M[4][3] = {
    0, 0, 0,
    0, 1, 1,
    1, 0, 1,
    1, 1, 0};

我需要强制转换 M 以便使用方法“foo”:

foo(float **matrix){ 
    printf("%f",matrix[0][0]);
}

我使用以下方法成功编译了代码:

foo( (float**) M )

但是当我执行它时,我遇到了段错误。怎么了?我在 Ubuntu Oneiric 中使用 g++。

提前致谢。


好的,谢谢 Luchian,但是如何使用:

float **M = new float*[4];
M[0] = {0,0,0};

我知道它无法编译,但是有类似的东西吗?


如果您想(或需要)自己进行算术,请避免强制转换:

void foo(float **pmatrix)
{
    float *matrix = *pmatrix;

    for (int r = 0; r < 4; ++r)
    {
        for (int c = 0; c < 3; ++c)
            printf("%f ", matrix[(r * 3) + c]);
        printf("\n");
    }
}

float M[4][3] = {
    0, 0, 0,
    0, 1, 1,
    1, 0, 1,
    1, 1, 0
};

int main()
{
    float *p = &M[0][0];
    foo(&p);
}

但这段代码很难看并且容易出错,如果可能的话请遵循 Luchian 的建议并更正声明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

静态矩阵转换为指针 的相关文章

随机推荐

  • numpy 数组:快速填充和提取数据

    请参阅此问题底部的重要说明 我正在使用 numpy 来加速经度 纬度坐标的一些处理 不幸的是 我的 numpy 优化 使我的代码运行速度提高了大约 5 倍slowly比它在不使用 numpy 的情况下运行 瓶颈似乎在于用我的数据填充 num
  • 在 xamarin 表单 pcl 上执行查询时没有这样的表 sqlite

    我在读取 SQLite 数据库上的表时遇到问题 我的 OBJ User 类 namespace Fimap Models public class OBJ User public int DLR Id get set public stri
  • C++ 地图迭代器

    该程序只打印最重复的单词 如果没有最重复的单词打印错误或 无 我该怎么办 输入 5 个苹果 苹果香蕉 苹果香蕉 输出 苹果 我希望它显示 如果可以说 输入 苹果香蕉 输出 无 include
  • java.util.regex.Matcher 中的 groupCount() 始终返回 0

    我试图计算字符串中有多少个匹配模式 我是使用 java util regex 的新手 我计划使用 matcher groupCount 来获取匹配组的数量 因为根据文档它返回捕获组的数量 返回此匹配器模式中捕获组的数量 按照惯例 第 0 组
  • 如何通过 API URL 显示图像?迅速

    我有一个应用程序 它可以向我显示来自 API 的数据 我创建了一个获取数据的服务 其中 URL string 是 API 的 url class Webservice func getAllMatches completion escapi
  • 如何从特征对象获取对具体类型的引用?

    如何得到Box b or B or Box b 来自a这段代码中的变量 trait A struct B impl A for B fn main let mut a Box b b
  • JQGrid 单击特定单元格时不选择行

    在我的 jqgrid 中 我有一个包含链接的单元格 当前 当用户单击此链接时 会选择该行 我正在使用多重选择 我不想要这个 当用户单击带有链接的特定单元格时 有没有办法不选择该行 我考虑过执行 onCellSelect 然后查看当前单元格是
  • 从类库调用 Javascript

    我创建了一个可供任何第三方应用程序引用的类库 DLL 它仅包含一个函数 该函数调用 JavaScript 来读取本地文件并将文件中的一些值返回到引用应用程序 I used System Web HttpContext Current Res
  • UWP - 未调用来自 DataGrid 的命令

    UWP 应用程序 很重要 因为没有 AncestorType 我无法从 DataGridTemplateColumn 绑定 ViewModel 的命令 也不能是其他值 这是我当前的代码 我已经尝试过 几乎所有的东西
  • 用多态性替换条件 - 当类型发生变化时如何处理?

    对于个人项目 我正在开发一款小型网络游戏 我有一个Card类有一个Status财产 并且到处都有案例陈述 我想 嘿 这是一个很好的机会用多态性代替条件式 问题是 我有几种方法可以做这样的事情 public class Card public
  • 使用新行更新 Android 通知会删除之前的行

    我想将通知分组为摘要 我通过为所有通知使用一个 ID 来实现这一点 这样 android 就不会创建新的通知 而是更新现有的通知 减少代码 Notification summaryNotification new NotificationC
  • gensim Word2vec 迁移学习(来自非 gensim 模型)

    我有一组用神经网络训练的嵌入 与 gensim 的 word2vec 无关 我想使用这些嵌入作为初始权重gensim Word2vec 现在我看到的是我可以model load SOME MODEL 然后继续训练 但是需要gensim模型作
  • 如何使用 PHP 创建会话?

    我正在 Android 上开发一个应用程序 它有一个 Web 服务器和一个 MySQL 数据库 数据库包含用户名和密码 我想使用 PHP 实现登录程序并在 Android 设备和 Web 服务器之间建立会话 提前致谢 从你的问题来看 你似乎
  • 在VB Net中从XML获取值

    我是使用 vbnet 的网络服务应用程序的新手 服务返回的值是 XML 格式
  • 如何选择pandas中除一列之外的所有列?

    我有一个如下所示的数据框 a b c d 0 0 418762 0 042369 0 869203 0 972314 1 0 991058 0 510228 0 594784 0 534366 2 0 407472 0 259811 0 3
  • Java 架构 - 关于 ActionListener 约定的问题

    我正在制作一个显示图形和操作图形的用户界面 该类扩展了 JFrame 并实现了 ActionListener 然后 ActionListener 调用不同的类来根据操作操作图形 当班级只有很少的 ActionListener 时 这很有效
  • 测试字典键是否存在的条件始终为 False

    我做了一个消耗两个字典的函数 curr stats and weekly result 如果有任何键weekly result那些不在curr stats 该函数应该只是打印invalid msg 没有突变curr stats But th
  • 从 XCode 6.0.1 的模拟器列表中选择合适的 iOS 版本

    我最近安装了XCode 6 0 1完整版本 默认情况下iOS 8模拟器 我当前的项目目标是iOS 6 所以我复制了旧的iOS模拟器进入新XCode 正如我之前对旧版本所做的那样XCodes 但在模拟器的列表中我无法区分适当的iOS版本 我不
  • 如何将数组的数组转换为从第一个数组获取键的对象数组? [复制]

    这个问题在这里已经有答案了 我有一个返回数组数组的变量 每个数组中的每个项目都用双引号引起来 var arrayOfArrays Name Age Address A 43 CA B 23 VA C 24 NY 我需要将其转换为以下内容 v
  • 静态矩阵转换为指针

    我有矩阵 M float M 4 3 0 0 0 0 1 1 1 0 1 1 1 0 我需要强制转换 M 以便使用方法 foo foo float matrix printf f matrix 0 0 我使用以下方法成功编译了代码 foo