ポインタの読み方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ポインタの読み方

Re: ポインタの読み方

#5

by Math » 5年前

おっと ウキペディアのリンクがおかしいようなので訂正。
https://ja.wikipedia.org/wiki/%E7%B3%96 ... B%E6%96%87

Re: ポインタの読み方

#4

by Math » 5年前

double a[][5] は double(*a)[5] のシンタックス・シュガーであり上記のプログラムは

この様に置き換えられる。

コード:

#include <stdio.h>

void f(double a[][5], int n);
int main(void) {
	int n;
	double a[][5] = { {0.11111,0.22222,0.33333,0.44444,0.55555},
				   {1.11111,1.22222,1.33333,1.44444,1.55555}, };
	n = 2;
	f(a, n);

	return 0;
}
void f(double a[][5], int n) {
	for (int i = 0; i < 2; i++) {
		for (int j = 0; j < 5; j++) { printf("%f\t", a[i][j]); }

		printf("\n");
	}
}
実行する。
http://www2.koyoen.birdview.co.jp/~abcx ... -14-b-.PNG

Re: ポインタの読み方

#3

by Math » 5年前

double (*a)[5]の読み方

「 a は double の配列(要素数5)へのポインター 」 です。

C言語で以下のようなコンテキスト(文脈)で使用されます。

clan_01.c

コード:

#include <stdio.h>

void f(double(*a)[5], int n);
int main(void) {
	int n;
	double a[][5] = { {0.11111,0.22222,0.33333,0.44444,0.55555},
				   {1.11111,1.22222,1.33333,1.44444,1.55555}, };
	n = 2;
	f(a, n);

	return 0;
}
void f(double(*a)[5], int n) {
	for (int i = 0; i < 2; i++) {
		for (int j = 0; j < 5; j++) { printf("%f\t", a[i][j]); }

		printf("\n");
	}
}
実行する。
http://www2.koyoen.birdview.co.jp/~abcx ... -14-a-.PNG


インターネット上に沢山説明がありますよ。
http://applelife100.blogspot.com/2008/10/blog-post.html

https://ja.wikipedia.org/wiki/%E7%Ba3%9 ... B%E6%96%87

http://enakai00.hatenablog.com/entry/20 ... 1338209840

Re: ポインタの読み方

#2

by usao » 5年前

要素の型がdoubleで要素数が5個な配列を指す用のポインタ型変数aの定義(and/or 宣言) だと思うけど,
どう発音するのかはわからないです>読み方
オフトピック
よくよく考えると,*がない(配列定義)記述でも,どう読み上げるのが正しいのかを知らない.
int a;
なら「いんと えー」とかで多分いけると思うんだけども.

ポインタの読み方

#1

by あい » 5年前

double (*a)[5]の読み方がわからないのですが教えていただけないでしょうか。

ページトップ