dポイントプレゼントキャンペーン実施中!

intで宣言したatai_1を変数名を引数として渡し、
intで宣言したatai_2をアドレスを引数として渡したいです。
※変数名を引数として渡すというのは「値渡し」と同じですか?
以下のソースコードでよろしいのでしょうか。
-----------------------------------------------------------------
void func_add(atai_1 , *atai_2)

そして、関数 func_add内で1.0を加算したいです。
atai_1 に格納されている値に 1.0を加算してatai_1に格納します。
atai_2についても同様の処理をします。
以下のソースコードでよろしいのでしょうか。
----------------------------------------------------------------
{
atai_1 = atai_1 + 1.0;
atai_2 = atai_2 + 1.0;
}

A 回答 (3件)

質問内容以外の部分にも明確な文法エラーが有るので、何が聞きたいのかわかりませんね



少なくとも
> intで宣言したatai_1を変数名を引数として渡し、

> atai_1 に格納されている値に 1.0を加算してatai_1に格納します。
は C 言語の規格上両立は不可能です
C 言語ではグローバル変数でない限り、関数で呼び出し元の値の書き換えることは不可能なので

分からないなりに想像し、下記のように int で計算結果を返すようにすれば
> intで宣言したatai_1を変数名を引数として渡し、
を実現して、格納は出来ませんが呼び出し元で受け取ることは出来ます
int func_add(int atai_1, int *atai_2){
*atai_2 = *atai_2 + 1;
return atai_1 + 1;
}


これなら普通は、素直に次のように書くと思いますけど
void func_add(int *atai_1, int *atai_2){
*atai_1 = *atai_1 + 1;
*atai_2 = *atai_2 + 1;
return;
}
    • good
    • 0

このソースでは、ダメです。

    • good
    • 0

atai_1 が配列じゃないなら、名前で渡す(というのが意味不明だが)


例示のようなケースならば変数に格納されている値を渡していることになる

atai_2はなんですか?
配列ですか?
ポインター変数ですか?

宣言内容が不明です
不明では分かりません
    • good
    • 0
この回答へのお礼

すいません、私も何なのかわからないのですが、
問題文を見る限りポインタ変数とも配列とも書かれていません。
ポインタ変数や配列はそうと書かれてあるので、それらではないようです。

お礼日時:2023/10/26 22:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A