したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

C言語ポインタ

1名無しさん:2011/06/21(火) 12:09:59
c言語のルール上 return文で返すのは1つの値

3名無しさん:2011/06/21(火) 12:20:43
http://www.c-lang.org/argument.html

n1, n2が実引数、a, bが仮引数となります。

4名無しさん:2011/06/21(火) 12:22:07
return文複数の値をかえすには引数の値をいじる。

5名無しさん:2011/06/21(火) 12:29:05
↑多少疑問

値渡しでは実引数の中身を変更できない。
従って、関数の実行結果の値を実引数で受け取ることも不可能

7名無しさん:2011/06/21(火) 12:35:11
int main(int argc, char *argv[])
{
m = max(n1, n2);
}


int max(int a, int b)
{
int -
value=a
value=b
return(value);
}

main関数のn1,n2が実引数
max関数のa,bが仮引数

8名無しさん:2011/06/21(火) 12:39:48
関数で2つ以上の実行結果の値を得るため、実行結果の値を実引数で受け取りたい場合
(=関数実行によって実引数の値を変更したい場合)

1、関数の呼び出し元
関数に渡す実引数は”変数のアドレス”にしなければならない。
2、関数本体
仮引数はポインタで受け取るようにしなければならない。なおかつ、その仮引数を関数の中で扱うには、ポインタを使わなければならない。

9名無しさん:2011/06/21(火) 15:48:22
関数を実行する際の”材料”となる仮引数
(=関数実行によって仮引数の中身を変更する必要がない場合)
        仮引数となる変数をそのまま受け取る
        関数内でも変数をそのまま扱う

関数を実行後、実行結果の値を格納したい仮引数
(=関数実行によって仮引数の中身を変更したい場合)
        仮引数は変数のポインタとして受け取る
        関数内でもポインタととして扱う。

10名無しさん:2011/06/21(火) 15:49:50
参照渡しを使えば、実引数の中身を変更できる。
したがって、関数の実行結果の値を実引数で受け取ることが可能

11名無しさん:2011/06/21(火) 15:54:50
関数で2つ以上の実行結果の値を得られるようにしたい。

関数で2つ以上の実行結果の値を得られるようにするには、関数の実行結果の値を実引数で受け取るしか方法がない

関数の実行結果の値を実引数で受け取る(=関数実行によって実引数の中身を変更する)
ためには、関数の呼び出し元では、実引数には”変数のアドレス”を渡さなければならない。

関数本体では、呼び出し元から”変数のアドレス”を受け取るため、仮引数にはポインタを使わなければならない。
なおかつ、関数内でもポインタとして扱われなければならない。(これこそポインタの使い道の大本命)

12名無しさん:2011/06/21(火) 16:26:38
ライブラリ→ありものの関数


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板