どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
ちょっと微妙なのでcharを使って型で書いてみましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
**Str・・・・・・char**
*Str・・・・・・・char*
Str・・・・・・・・char
のような気もするけど・・・・
**Str・・・・・・char***
*Str・・・・・・・char**
Str・・・・・・・・char*
ですかね?
*Str・・・・・・・char*
Str・・・・・・・・char
のような気もするけど・・・・
**Str・・・・・・char***
*Str・・・・・・・char**
Str・・・・・・・・char*
ですかね?
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
と史上最悪のデスペナ さんが書きました:**Str・・・・・・・文字
*Str・・・・・・・・**Strのアドレス(メモリの番地)
Str・・・・・・・・・*Strのアドレス(メモリの番地が入っているメモリの番地)
が矛盾していることには気づいてますか?史上最悪のデスペナ さんが書きました:**Str・・・・・・char**
*Str・・・・・・・char*
Str・・・・・・・・char
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
ほほう。そうなんですか。beatle さんが書きました:と史上最悪のデスペナ さんが書きました:**Str・・・・・・・文字
*Str・・・・・・・・**Strのアドレス(メモリの番地)
Str・・・・・・・・・*Strのアドレス(メモリの番地が入っているメモリの番地)が矛盾していることには気づいてますか?史上最悪のデスペナ さんが書きました:**Str・・・・・・char**
*Str・・・・・・・char*
Str・・・・・・・・char
じゃあ、
**Str・・・・・・・・・・char
*Str・・・・・・・・・・・char*
Str・・・・・・・・・・・・char**
かな?(消去法?勘?微妙な思い付きによる答え)
図が描けませんでした!softya(ソフト屋) さんが書きました:説明したサイトにも有ったと思いますが図を書いてみると理解が進むと思います。
もう笑うしかないですね^^;全っ然理解できません。
なのに気付いたらランクが上級者にww
上級者以上のランカーで私以下のレベルの方がいるだろうか、いやいないだろう。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
softyaさんは,charを使って「型で書け」と言ったのです.
C言語で1文字を表す型は char ですね.
C言語でcharへのポインタを表す型は char * ですね.
すなわち,C言語で「charへのポインタ」へのポインタを表す型は char ** です.
Strっていう変数名を使っていますけれど,Strはstringの略ですから,普通は文字列を表すのにstrという変数名を使います.
誤解の元ですから,char *以外の型の変数をstrという名前にするのは止めた方が賢明です.
C言語で1文字を表す型は char ですね.
C言語でcharへのポインタを表す型は char * ですね.
すなわち,C言語で「charへのポインタ」へのポインタを表す型は char ** です.
Strっていう変数名を使っていますけれど,Strはstringの略ですから,普通は文字列を表すのにstrという変数名を使います.
誤解の元ですから,char *以外の型の変数をstrという名前にするのは止めた方が賢明です.
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
ポインタは多くの人が躓くのでしっかり勉強しましょう。
まんまの「ポインタのポインタ」ってのが参考サイトにあるんですが読みましたか?
あと 単純なポインタから図を書いてみたほうが良いでしょうね。
ポインタだけで本があるぐらいですから理解を焦ってはダメですよ。
「Amazon.co.jp: ポインタ: 本」
http://www.amazon.co.jp/%E3%83%9D%E3%82 ... %BF&page=1
【補足】 参考を追加しておきます。自分が分かりやすいと思うものを読んでみてください。
「Part4 誰もがつまずくポインタを完璧理解 - C/C++は永久に不滅です!:ITpro」
http://itpro.nikkeibp.co.jp/article/COL ... 06/256198/
「C言語ポイント学習 (配列とポインタその1)」
http://www2.netf.org/pointer1.html
「第6回 ポインタを理解して文字列を扱う - よくわかるC言語:ITpro」
http://itpro.nikkeibp.co.jp/article/COL ... 31/252216/
「C言語~ポインタ~ -ヒバリのとまりぎ-」
http://spitzayano.web.fc2.com/arrangeme ... inter.html
それとデバッガを上手く使ってイメージを掴みましょう!ポインタや配列、文字列をデバッガで覗いてみましょう!
まんまの「ポインタのポインタ」ってのが参考サイトにあるんですが読みましたか?
あと 単純なポインタから図を書いてみたほうが良いでしょうね。
ポインタだけで本があるぐらいですから理解を焦ってはダメですよ。
「Amazon.co.jp: ポインタ: 本」
http://www.amazon.co.jp/%E3%83%9D%E3%82 ... %BF&page=1
【補足】 参考を追加しておきます。自分が分かりやすいと思うものを読んでみてください。
「Part4 誰もがつまずくポインタを完璧理解 - C/C++は永久に不滅です!:ITpro」
http://itpro.nikkeibp.co.jp/article/COL ... 06/256198/
「C言語ポイント学習 (配列とポインタその1)」
http://www2.netf.org/pointer1.html
「第6回 ポインタを理解して文字列を扱う - よくわかるC言語:ITpro」
http://itpro.nikkeibp.co.jp/article/COL ... 31/252216/
「C言語~ポインタ~ -ヒバリのとまりぎ-」
http://spitzayano.web.fc2.com/arrangeme ... inter.html
それとデバッガを上手く使ってイメージを掴みましょう!ポインタや配列、文字列をデバッガで覗いてみましょう!
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
セーブや通信を後回しにして別のことを並行するなら別に構わないと思いますが、セーブや通信をやるならポインタをまず理解しないと進まない状況だと思います。
[補足]ともかくトピックが長くなったので仕切り直すのは賛成です。
[補足]ともかくトピックが長くなったので仕切り直すのは賛成です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
http://dixq.net/forum/blog.php?u=783&b=2698
ポインタ攻略法を書いてみました.ご参考にどうぞ.
ポインタ攻略法を書いてみました.ご参考にどうぞ.
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
エンディアンだとかバディングとかもポインタの知識が必要になりますか?メモリ関係なのでなりそうですが、あまり関係なかったら教えていただけると幸いです。softya(ソフト屋) さんが書きました:セーブや通信をやるならポインタをまず理解しないと進まない状況だと思います。
[補足]ともかくトピックが長くなったので仕切り直すのは賛成です。
ありがとうございます。softya(ソフト屋)さんの貼ってくださったリンクと共に勉強させていただきます。beatle さんが書きました:blog.php?u=783&b=2698
ポインタ攻略法を書いてみました.ご参考にどうぞ.
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
エンディアンは違うタイプのCPUが混ざらない限りは大丈夫です。ただ、バイナリエディタで見ているうちに覚える気もしますが。史上最悪のデスペナ さんが書きました:エンディアンだとかバディングとかもポインタの知識が必要になりますか?メモリ関係なのでなりそうですが、あまり関係なかったら教えていただけると幸いです。
パディングはメモリ配置の話ですので、バイナリデータで構造体を扱う限りは意識する必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
オンラインゲームを作りたいので知る必要がありますね。教えてください!softya(ソフト屋) さんが書きました:エンディアンは違うタイプのCPUが混ざらない限りは大丈夫です。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
とりあえず史上最悪のデスペナさんが使う可能性がある一般的パソコンで動いているWindows/Linux/MacはINTELやAMDのx86アーキテクチャを使っているので全部リトルエンディアンです。レンタルサーバーでこれ以外が無いわけはないですが、わざわざ借りることもないと思います。史上最悪のデスペナ さんが書きました:オンラインゲームを作りたいので知る必要がありますね。教えてください!softya(ソフト屋) さんが書きました:エンディアンは違うタイプのCPUが混ざらない限りは大丈夫です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
じゃあもう全部リトルエンディアンでいいじゃん、と思ってしまいます^^;softya(ソフト屋) さんが書きました:とりあえず史上最悪のデスペナさんが使う可能性がある一般的パソコンで動いているWindows/Linux/MacはINTELやAMDのx86アーキテクチャを使っているので全部リトルエンディアンです。レンタルサーバーでこれ以外が無いわけはないですが、わざわざ借りることもないと思います。
では、ここは解決にしておきます。
ありがとうございました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
あくまでも史上最悪のデスペナさんが使う環境の話ですのでゲーム機とかビックエンディアンのCPUは沢山あります。ファイル形式としてビックエンディンが定められているファイルもありますので、いつでもリトルエンディアンが通用するわけではありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
ネットワークバイトオーダーは一般的にビッグエンディアン…というのはここでは関係ない話ですね。
余談でした。
余談でした。