K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[2340] Re:関数の戻り値について
投稿者:(ぱ)こと管理人
2023/08/05 14:19:52

>C言語では、「配列へのポインタ」は関数の戻り値にはできないのでしょうか? >VisualC++でやってみたのですが、無理でした。 できない理由は特にないので、普通にできます。以下、掛け算九九の表をmalloc()で 確保するプログラムです(これは「普通」には見えない、というならまあもっともですが)。 #include <stdio.h> #include <stdlib.h> int (*alloc99(void))[9] { return malloc(sizeof(int) * 81); } int main(void) { int (*array99)[9]; int i, j; array99 = alloc99(); for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { array99[i - 1][j - 1] = i * j; } } for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { printf("\t%d", array99[i - 1][j - 1]); } printf("\n"); } } ただ、 >"func()[0].hoge"みたいなことがやってみたかったのですが、C言語では無理なのでしょうか。 上記のやってみたいことからすると、そもそもやりたいことは「配列へのポインタ」を 返すことではないようにも思えます。"func()[0].hoge"と書きたいのなら、やりたいことは、 「構造体へのポインタ」を返すことではないでしょうか。
[この投稿を含むスレッドを表示] [この投稿を削除]