由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个矩阵作为参数, C programming的问题
相关主题
问问关于 OO Design, Design Pattern 方面的书一群人天天聊fp, 说实话有几个精通java or c++ or python的?
卖书 (转载)语言区别
哪里有各种设计模式的C++示例?牛人就是拽:Linus Torvalds一直讨厌这11项技术
按说java也够快了Why oop is bad?
关于不同类型的smart pointerLinus Torvald有多少钱?
真正有货的,没有骂人的phd码工感觉是完全不同的一个档次
Linus Torvalds: Java A Horrible Language - YouTube快速系统学习 c++ design pattern有什么好书或者网站吗
c++如果调用没参数的函数不用加()就好了关于pattern design的那本非常经典的书是什么?谁写的?
相关话题的讨论汇总
话题: double话题: myfun话题: c++话题: int话题: void
进入Programming版参与讨论
1 (共1页)
p*********9
发帖数: 277
1
不是c++.
我的函数 void myfun(int time, double A[6], double B[6][6]);
这个函数内面,我需要改变向量A[6]和矩阵B[6][6]的值,并返回他们.
上面的这个声明可以吗? 有什么建议阿?
谢谢.
w***g
发帖数: 5958
2
上面这个声明可以. 建议是定义一个常数来代替赤裸裸的6.

【在 p*********9 的大作中提到】
: 不是c++.
: 我的函数 void myfun(int time, double A[6], double B[6][6]);
: 这个函数内面,我需要改变向量A[6]和矩阵B[6][6]的值,并返回他们.
: 上面的这个声明可以吗? 有什么建议阿?
: 谢谢.

p*********9
发帖数: 277
3
thanks.

【在 w***g 的大作中提到】
: 上面这个声明可以. 建议是定义一个常数来代替赤裸裸的6.
M7
发帖数: 219
4
C需要这个6吗?
C似乎只在乎是个指针而已。

【在 w***g 的大作中提到】
: 上面这个声明可以. 建议是定义一个常数来代替赤裸裸的6.
b******n
发帖数: 592
5
static array是需要的

【在 M7 的大作中提到】
: C需要这个6吗?
: C似乎只在乎是个指针而已。

u****u
发帖数: 229
6
几问几答,漏洞百出.此楼可谓壮观.

【在 b******n 的大作中提到】
: static array是需要的
s**********o
发帖数: 197
7
比较同意这个观点。还不如给个pointer把A B还有6啥的一起传进去。

【在 M7 的大作中提到】
: C需要这个6吗?
: C似乎只在乎是个指针而已。

t****t
发帖数: 6806
8
顶这个.

【在 u****u 的大作中提到】
: 几问几答,漏洞百出.此楼可谓壮观.
p*********9
发帖数: 277
9
谢谢回答.有些confusing
因为我定义的这几个矩阵都回定义成全局变量,所以我就用了这样的定义.
如果定义正下面的样子:
void myfun(int time, double *A, double **B)
有什么大的优势呢?毕竟这个矩阵都很小阿。
w***g
发帖数: 5958
10
你原来的声明是对的. double **B对你这种情况不如double B[6][6].

【在 p*********9 的大作中提到】
: 谢谢回答.有些confusing
: 因为我定义的这几个矩阵都回定义成全局变量,所以我就用了这样的定义.
: 如果定义正下面的样子:
: void myfun(int time, double *A, double **B)
: 有什么大的优势呢?毕竟这个矩阵都很小阿。

相关主题
真正有货的,没有骂人的一群人天天聊fp, 说实话有几个精通java or c++ or python的?
Linus Torvalds: Java A Horrible Language - YouTube语言区别
c++如果调用没参数的函数不用加()就好了牛人就是拽:Linus Torvalds一直讨厌这11项技术
进入Programming版参与讨论
H***a
发帖数: 735
11
double **B won't work if LZ want it works like declaring B[6][6].
The following would work:
void myfun(int time, double A[6], double B[6][6])
void myfun(int time, double A[], double B[][6])
void myfun(int time, double *A, double (*B)[6])
Just take a look at http://www.ibiblio.org/pub/languages/fortran/append-c.html
p*********9
发帖数: 277
12
thanks a lot. After the discussions, I will use
void myfun(int time, double A[6], double B[6][6])
It is easier for me to read and use the codes.
n******t
发帖数: 4406
13
所以Linus说的不要所谓的C++/Java programer来碰他的项目,是有道理的.

【在 u****u 的大作中提到】
: 几问几答,漏洞百出.此楼可谓壮观.
b******n
发帖数: 592
14
指针的话不行啊,int **a怎么能跟int a[][]一样呢,layout都不同。。
你老大把B[6][6]往要float **B的函数送吧

【在 u****u 的大作中提到】
: 几问几答,漏洞百出.此楼可谓壮观.
F****n
发帖数: 3271
15
use void myfun(int time, double *A, double *B)

【在 p*********9 的大作中提到】
: 谢谢回答.有些confusing
: 因为我定义的这几个矩阵都回定义成全局变量,所以我就用了这样的定义.
: 如果定义正下面的样子:
: void myfun(int time, double *A, double **B)
: 有什么大的优势呢?毕竟这个矩阵都很小阿。

F****n
发帖数: 3271
16
First, this has nothing about C++, it's C
Second, in Java there will be no such problems, even for newbies.
I basically agree with Linus that C++ is crap, and will always stick to C if
I need to program native code. But Java is not C++. Java is much easier to
use.

【在 n******t 的大作中提到】
: 所以Linus说的不要所谓的C++/Java programer来碰他的项目,是有道理的.
H***a
发帖数: 735
17
According to LZ, B is a 2D array, doube *B won't work unless you include
column size

【在 F****n 的大作中提到】
: use void myfun(int time, double *A, double *B)
F****n
发帖数: 3271
18
Nobody uses 2D array to pass matrix. Pass it as a pointer and compute the
index.

【在 H***a 的大作中提到】
: According to LZ, B is a 2D array, doube *B won't work unless you include
: column size

H***a
发帖数: 735
19
that's ok, but how to compute the index? There is no column size information from caller, unless you want this
function decides for the caller, which will make this function itself not reusable.

【在 F****n 的大作中提到】
: Nobody uses 2D array to pass matrix. Pass it as a pointer and compute the
: index.

z****e
发帖数: 2024
20
我冷!

【在 b******n 的大作中提到】
: static array是需要的
相关主题
Why oop is bad?快速系统学习 c++ design pattern有什么好书或者网站吗
Linus Torvald有多少钱?关于pattern design的那本非常经典的书是什么?谁写的?
phd码工感觉是完全不同的一个档次谁能share一下Design Patterns的代码?
进入Programming版参与讨论
p***o
发帖数: 1252
21
Well, it's a magic number in LZ's original code. So we can still
use that magic number and hopefully the compiler will optimize
the multiplication away ...

information from caller, unless you want this
reusable.

【在 H***a 的大作中提到】
: that's ok, but how to compute the index? There is no column size information from caller, unless you want this
: function decides for the caller, which will make this function itself not reusable.

b******n
发帖数: 592
22
Why not. It is easier to read than those [i*L+j]

【在 F****n 的大作中提到】
: Nobody uses 2D array to pass matrix. Pass it as a pointer and compute the
: index.

b******n
发帖数: 592
23
奇怪了,你要static array做argument的时候2d的不给size怎么行呢。。你冷个头

【在 z****e 的大作中提到】
: 我冷!
F****n
发帖数: 3271
24
Oh yeah, you need to pass the column size as parameter if it will be
something other than 6.

information from caller, unless you want this
reusable.

【在 H***a 的大作中提到】
: that's ok, but how to compute the index? There is no column size information from caller, unless you want this
: function decides for the caller, which will make this function itself not reusable.

F****n
发帖数: 3271
25
Because C arrays are declared and not dynamic, and you need to use pointer
to pass arrays of unknown size. Just use &array[0][0] in the function call
and pass the dimensions.

【在 b******n 的大作中提到】
: Why not. It is easier to read than those [i*L+j]
b******n
发帖数: 592
26
Or you can pass array[6][6]..come on, it is not that complicated... on what
earth it is unknown size anyway, LZ has declared an array and want to use it
in a function. Well, I am not interested in it any more...it was just an
answer to the suggestion someone made about taking out 6 in the function
prototype.

【在 F****n 的大作中提到】
: Because C arrays are declared and not dynamic, and you need to use pointer
: to pass arrays of unknown size. Just use &array[0][0] in the function call
: and pass the dimensions.

1 (共1页)
进入Programming版参与讨论
相关主题
关于pattern design的那本非常经典的书是什么?谁写的?关于不同类型的smart pointer
谁能share一下Design Patterns的代码?真正有货的,没有骂人的
High Performance Computing Software Engineer needed -- Cary NCLinus Torvalds: Java A Horrible Language - YouTube
请介绍一下git和githubc++如果调用没参数的函数不用加()就好了
问问关于 OO Design, Design Pattern 方面的书一群人天天聊fp, 说实话有几个精通java or c++ or python的?
卖书 (转载)语言区别
哪里有各种设计模式的C++示例?牛人就是拽:Linus Torvalds一直讨厌这11项技术
按说java也够快了Why oop is bad?
相关话题的讨论汇总
话题: double话题: myfun话题: c++话题: int话题: void