質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

2回答

738閲覧

値渡しとポインタ渡し

avarable

総合スコア1

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2023/06/08 04:15

編集2023/06/08 07:30

値渡しとポインタ渡しの説明を詳しく、わかりやすく知りたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2023/06/08 04:42

このままではコードが読みづらいので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください で、しつもんはなんでしょうか
1T2R3M4

2023/06/08 05:00

Objective-cですか。 大学の課題ならば教授、講師、TA等に確認されてはいかがでしょうか。 また、行動規範に同意したうえでの投稿と信じていますが、 守る気はないのでしょうか。
Zuishin

2023/06/08 06:15 編集

> 下のプログラムで、教えてください。 Objective-C じゃなく C だと思いますが、鼻から悪魔(nasal demon)が出ると思います。
avarable

2023/06/08 07:32

@y_waiwai さん コードの貼り方ヲ教えていただきありがとうございます。これからそれでやらさせていただきます。質問内容については、値渡しとポインタ渡しがどいう言うものなのかを知りたかっただけです。プログラムが入るとわけわかんなくなるので、消しました。 よろしくお願いします。
avarable

2023/06/08 07:33

@1T2R3M4さん ご指摘いただきありがとうございます。どの辺が行動規範に則っていないと感じたか教えていただけると幸いです。
avarable

2023/06/08 07:34

@Zuishinさん タグはCも追加しました。そのあとの説明はよくわかりません。
1T2R3M4

2023/06/08 07:51

質問投稿する前にいろいろ注意事項が出ると思いますが確認されますか。 慣れていないのでしたら、投稿時にはテンプレートをしようされてはいかがでしょうか。 行動規範や付随するドキュメント(規約やヘルプ等)を読んでいないってことでしょうか。 例えば https://teratail.com/help/avoid-asking teratailは思考するエンジニアのためのQ&Aサイトです。 学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。 https://teratail.com/help/question-tips https://teratail.com/help/question-tips#questionTips12 https://teratail.com/help/question-tips#questionTips32
otn

2023/06/08 10:18

例えば「ピアノが上手くなるにはどうしたら良いですか?」という質問に対しては、 「まずちょっと弾いてみろ」となるのはおわかりでしょうか? 意味のある回答が惜しければ、例えば、 「値渡しとポインタ渡しについて、~~~~~という説明を読んで、自分では~~~~~のように理解した。 しかし~~~~~ということから、どうも理解が間違っているようだ。何処が間違っているのか?」 のように質問しましょう。 「値渡しとポインタ渡しについて、~~~~~という説明を読んだが、意味が全く理解できない」 であると、もっと最初から復習しないと、回答が付いても回答文を理解できないでしょうね。
guest

回答2

0

かなり荒く書くと
値渡し:
渡す予定の変数とは別にメモリ確保してそこに値をコピーして、コピー側を渡す。
コピーが渡っているだけだから何されようともオリジナルには影響がない。

参照渡し:
該当(引数)変数を格納しているアドレスを渡す。
渡されたものはオリジナル(が入った場所)を指しているので、変更されるとオリジナルに影響が出る。

投稿2023/06/09 04:43

ardin

総合スコア548

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2023/06/09 04:54

> 変更されるとオリジナルに影響が出る。 正しくは「ポインタが差す先が変更されると...」
jimbe

2023/06/11 07:34

>かなり荒く書くと と断られているとはいえ、"ポインタ"を"参照"と言い換えるのは危ないような気がします。
ardin

2023/06/12 04:23

そうですね。ポインタ渡しの説明になっていますね。 素直に、 変数の格納されている場所(ポインタ)のコピーを渡す でよいですね。
guest

0

  • 値渡し

変数の保持する値(定数でもOK)のコピーを渡す

  • ポインタ渡し

変数の格納されている場所(ポインタ)のコピーを渡す

投稿2023/06/09 02:08

編集2023/06/09 04:55
episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問