剛健典雅

でありたい(弓について)
と思いつつの雑記あるいはたわごと

FortranとCの配列

2007-09-05 14:04:25 | コンピュータ
Fortranの配列は添字が1から始まるのに、Cでは0から始まる。
FortranのプログラムをCに書き換える場合ここが問題になる。
こんなときは、たとえばその配列を扱う関数の中で、減分演算子で添え字をずらしてしまえば良いらしい。

このあたりを試してみるプログラムは以下の通り。
関数の中では、--x; を実行すれば、x[1], x[2], x[3]が、実はx[0], x[1], x[2]を指すようになる。

/* テストプログラム */
#include <stdio.h>

int ftest(int*);

int main()
{
int x[]={0,1,2,3,4,5,6,7,8,9};

printf("out-bef: %d %d %dn", x[1], x[2], x[3]);
ftest(x);
printf("out-aft: %d %d %dn", x[1], x[2], x[3]);
return 0;

}
int ftest(int *x)
{
--x;
printf("in : %d %d %dn", x[1], x[2], x[3]);
return 0;
}

最新の画像もっと見る

コメントを投稿