いまc言語を独学で勉強しているのですがいまいちわかりません。
https://monozukuri-c.com/langc-original-handle/? …
このリンクでハンドル生成時の
構造体*pAccountは何をしているんですか?
これはポインタですか?
またメインソースのhcard1の値には何が入っているんですか?
またなぜ野口さんと諭吉さんのデータは残り続けているんですか?同じ関数を使っているので野口さんが諭吉さんに上書きされることはないんですか?
No.2ベストアンサー
- 回答日時:
>構造体は練習問題などでふれたことがあります。
構造体をポインタで扱うことは練習問題とは多少異なるかもです。
特にmallocで取得したメモリー上の構造体や
構造体配列としてのポインタ等、実際に使ってみないと
なかなか構造体メンバーへのアクセス等、理解は難しいです。
>配列と似たような感じで自分で指定した容量分の番地を貸し出してくれるようなイメージで解釈してます。
ほぼその通りですけど、mallocを複数回呼んだことは?
当然別々のメモリーが確保されてそれぞれのポインターが返るので
上書きされようがないことはわかりそうに思うのですけど・・。
コンパイラやデバッガーとかはどういう環境ですか?
実行中の変数やポインタの値はどうやって確認されてますか?
ちなみに私はエムアロックと呼んでます。
メモリーをアロケートするという意味が
マロックは判りにくくする気がして・・・。
No.3
- 回答日時:
う〜ん・・・まぁ・・・どうしたもんかねぇ・・・。
> いまc言語を独学で勉強しているのですがいまいちわかりません。
まぁ、分からんだろうねぇ。
リンク先は見てみたけど。
ハッキリ言うと、「分からない」ってのは貴方がバカだから、とかそういう理由じゃないんだ。
そのリンク先のサイトが「(オブジェクト指向じゃない)C言語を使ってオブジェクト指向(らしき)」プログラミングをさせよう、って「トチ狂った」事やってんのが悪いんだよな、言っちゃえば。
オブジェクト指向。分かる?
もし知らないのなら、そのページを「理解しようとするのは止めて」、他の教材探した方がエエんちゃうか。
C言語で「オブジェクト指向っぽいプログラムを書くのは可能」だけど、それは「オブジェクト指向を知ってる」人がやるから出来るわけであって、まずは「オブジェクト指向」と言う考え方を知らんとアカン。
んで、通常、「オブジェクト指向を学ぶ」のなら(JavaとかRuby、あるいはSmalltalkやEiffelみたいな)「オブジェクト指向言語」を使うんだよ。当然だよな。
ナニカを学ぶには、それに適したツールが必要だ、って事だ。
「今回始めてプログラミングを学び始めて、なおかつオブジェクト指向言語じゃない言語でオブジェクト指向を学ぼう」
とするのは、無理ゲーだ。特に「オブジェクト指向」って考え方は、能書き色々垂れるヤツ(っつーか本)は多いけど、ハッキリ言って「難解な」考え方、なんだ。
言っちゃえば、そこは全然「C言語の話」でも何でもないんだ。まずは「C言語と関係ない」オブジェクト指向のアイディアを知らんとアカン。
貴方の混乱は、まず第一に、「オブジェクト指向がナニカ」全く知らん事に起因してんじゃねぇの?そのページ見て「ああ、こうやってプログラムすればいいのか!」と感じるんじゃなくって、「なんでこんな方法でプログラム作ってんだ?」と感じてるならそういう事、だ。
分かる?
> これはポインタですか?
言わずと知れたポインタだ。
でも「オブジェクト指向」的アイディアで言うとそれも枝葉末節なんだよ。
> またメインソースのhcard1の値には何が入っているんですか?
銀行口座のデータでしょ?
> またなぜ野口さんと諭吉さんのデータは残り続けているんですか?同じ関数を使っているので野口さんが諭吉さんに上書きされることはないんですか?
これはだから逆なんだよ。
「野口さんが諭吉さんに上書きされることはない」ような仕組みを作る為に「オブジェクト指向」って考え方があるんだ。
だからCでそれをエミュレートするように書けば・・・と原因と結果を逆に考える必要があるんだ。
ぶっちゃけた話、「銀行口座ネタ」ってのは「図形の面積計算」と合わせて、一番「オブジェクト指向」の概念を説明するのに使われるネタなんだ。
「野口さんの銀行口座」と「諭吉さんの銀行口座」は絶対重複しないし、そして「野口さんの銀行口座を弄っても」、諭吉さんの銀行口座には「まるで影響を与えません」と。「オブジェクト指向って凄いでしょ?」ってオチを付ける為に出す「あるあるネタ」なわけね。
だからハッキリ言っておくけど、
・「オブジェクト指向を知らない」んで、件のページで学ぶのは諦める
・「オブジェクト指向言語で簡単なオブジェクト指向の実例を扱った後に」件のページに再挑戦する
と、貴方の前には2つの道があるんじゃないかな、って思います。
No.1
- 回答日時:
>構造体*pAccountは何をしているんですか?
構造体をご自分で使った経験は?
>これはポインタですか?
ポインタですね。構造体のポインタを使った経験は?
>またメインソースのhcard1の値には何が入っているんですか?
>またなぜ野口さんと諭吉さんのデータは残り続けているんですか?同じ関数を使っているので野口さんが諭吉さんに上書きされることはないんですか?
mallocを使った経験は?
基本的にコードは使用経験やデバッグ経験で理解できるようになります。
読んだだけでわかることはまず無いと思って下さい。
使用OS、コンパイラ、デバッグ環境はそれぞれの方で異なるので
まずそれを明らかにされては?
助言も違ってくると思います。
構造体は練習問題などでふれたことがあります。
マロックも触れたことがあります。
マロックに関しては少ししか触れていないのでそこまで詳しくまでは理解出来ていませんが配列と似たような感じで自分で指定した容量分の番地を貸し出してくれるようなイメージで解釈してます。
構造体ポインタはないですがポインタなどは触れたことがあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドイツ語 英語を勉強して損したことはありますか? 私の場合は、幼い頃からスイスの田舎が好き または 祖父(19 2 2023/03/01 16:45
- その他(悩み相談・人生相談) 昔は優秀だったのに、現在若い人に抜かれる(仕事や勉強など)と どんな感じがしますか。 【私の場合】 3 2023/06/25 13:46
- その他(人文学) 伯祖父(1906年生まれ)が登山家、祖父(1918年生まれ)が医者と登山家のため、独語を勉強すること 1 2023/04/25 12:07
- その他(言語学・言語) 独語とアラビア語を話せるが、英語だけ話せない人はいらっしゃいますか❓(英語力がないと言われそうで、恥 1 2023/02/27 18:12
- 高校 国語が超苦手です。現代文もめちゃくちゃで、下手したら小学生レベルもできないかもしれません。 偏差値は 5 2023/04/03 19:11
- 教師・教員 東京福祉大学通信教育、教育学部教育学科英語科教諭コースで学んで高校教師か、中学教師になろうと思ったの 1 2023/06/01 23:25
- その他(メンタルヘルス) 『高学歴で勉強家だが反面、コミュ症な人』と『低学歴な上にコミュ症な人』。後、C氏は本当にコミュ症か? 1 2022/07/20 17:45
- その他(悩み相談・人生相談) 『高学歴で勉強家だが反面、コミュ症な人』と『低学歴な上にコミュ症な人』。後、C氏は本当にコミュ症か? 2 2022/07/22 00:30
- その他(言語学・言語) うちの従妹(6月で27歳)も独語にチャレンジしているところです。 しかし、従妹は英語と独語を交互に勉 1 2023/05/04 16:56
- 心理学 『高学歴で勉強家だが反面、コミュ症な人』と『低学歴な上にコミュ症な人』。後、C氏は本当にコミュ症か? 2 2022/07/20 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
init関数の意味
-
LPSTR型の初期化について
-
CWnd::EnableWindow()の扱い方
-
ポインタ変数のサイズについて...
-
自作関数の引数
-
自分のIID_IUnKnown取得について
-
c言語のポインタについて初心者...
-
#define NULL ((void *)0) の弊害
-
アプリを32bitから64bit移行
-
Run-Time Check Failure #3とい...
-
C言語習得のレベル.
-
C言語 関数の戻り値と自動変数
-
c言語で任意のファイルから読み...
-
^と*の違いについて
-
別のDLLのダイアログを・・・
-
クラスの参照渡しとメンバ変数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
fopne で失敗する原因
-
戻り値で構造体を返すことは可...
-
LPSTR型の初期化について
-
ExcelVBAでのkernel32(64bit)
-
参照型で受け取った引数をポイ...
-
ハンドル、アドレス、ポインタ...
-
ハンドルはポインタか
-
C言語でのconstを返す関数
-
デバイスハンドルとは?
-
Cで作成したDLL関数をVBから呼...
-
popenした子プロセスのプロセス...
-
c言語で任意のファイルから読み...
-
[excel vba] マウスポインタの...
-
パスからファイル名を抽出
-
プーさんのマウスポインタを教...
-
基本アルゴリズムの『返す』の...
おすすめ情報