ポインタの読み方

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

ポインタの読み方

#1

投稿記事 by あい » 7ヶ月前

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

アバター
usao
記事: 1554
登録日時: 6年前

Re: ポインタの読み方

#2

投稿記事 by usao » 7ヶ月前

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

Math

Re: ポインタの読み方

#3

投稿記事 by Math » 7ヶ月前

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

Math

Re: ポインタの読み方

#4

投稿記事 by Math » 7ヶ月前

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

Math

Re: ポインタの読み方

#5

投稿記事 by Math » 7ヶ月前

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

返信

“C言語何でも質問掲示板” へ戻る