美文网首页
用Macro来定义矩阵

用Macro来定义矩阵

作者: 半夜清风 | 来源:发表于2020-06-11 08:48 被阅读0次

2020/6/10
C语言里函数参数只能用指针来表示一维数组,对于二维或多维数组可以通过Macro来实现,使代码简洁易懂。例如:

#define A(i, j)   pA[ i*n + j ]

void testMat()
{
double pA = {1, 2, 3, 4, 5, 6};

//n: Number of columns
n = 2;

//Change cell(3, 2)
A( 2, 1) = 2;
}

但是我今天使用时出错,花了很长时间才找出原因。

int i = 1;
A( i+1, j ) = 2; //Wrong expression

调用Macro时,如果使用表达式赋值参数时,必须把表达式括起来。正确用法如下:

int i = 1;
A( i+1, j ) = 2;

如果不加括号,Macro会被解析为:

i + 1*n + j

而不是:

(i + 1)*n + j

相关文章

  • 用Macro来定义矩阵

    2020/6/10C语言里函数参数只能用指针来表示一维数组,对于二维或多维数组可以通过Macro来实现,使代码简洁...

  • Xcode user_defined, preprocessor

    user_defined 给用户定义东西用的,具体不明 preprocesor macro 预处理宏, oc用的 ...

  • Flask-不带参数的宏的定义与使用

    定义 macro_test.html

  • 半正定矩阵理解

    半正定与正定矩阵统一用半正定矩阵来示例 首先半正定矩阵定义为: 其中X 是向量,M 是变换矩阵 我们换一个思路看这...

  • 数组运算

    矩阵的定义 在matlab定义一个矩阵,通常可以直接按行方式输入每个元素:同一行的元素用英文输入下的逗号或者空格来...

  • Chapter 1.3 Working with Matrice

    下面列举一些常见的矩阵操作,注意用random来初始化话矩阵,每一次运行都会重新抽取新的元素 1.定义矩阵 cp1...

  • iOS基础-宏定义

    宏定义 Macros A macro is a fragment of code which has been g...

  • 关联矩阵与邻接矩阵 2018-11-27

    参考: 关联矩阵与邻接矩阵 1. 邻接矩阵 1.1 定义 设无向图 G=(V, E),其中顶点集 , 边集 ,用 ...

  • 离散数学中的图矩阵

    本文涉及到的图矩阵主要包括邻接矩阵和关联矩阵,在离散数学中这部分内容属于用矩阵来表示图。 邻接矩阵 用矩阵表示图,...

  • Object-C_宏魔法记录

    1.定义及相关介绍宏嘛很简单,就是简单的查找替换 分类 对象宏(object-like macro):对象宏一般用...

网友评论

      本文标题:用Macro来定义矩阵

      本文链接:https://www.haomeiwen.com/subject/fksvtktx.html