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

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

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

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

Q&A

解決済

3回答

1435閲覧

ポインタが指す2バイトのメモリの数がどうしてそうなるのか教えて!

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

0グッド

0クリップ

投稿2017/10/04 11:39

編集2017/10/04 23:10
ポインタ~データのメモリ上の場所を示すアドレスをデータとして扱ったもの(リストデータ) 例 メモリアドレスが8ビットの場合 メモリアドレス109でその値が97(ポインタ)を指し 98,99で2バイト整数データを表しています。 97(次のポインタ),98,99で1セット(第0要素)で2バイト整数データ27861とあります。 97(次のポインタ)はメモリアドレス105を指し 106,107で2バイト整数データを表しています。 105(次のポインタ),106,107で1セット(第1要素)で2バイト整数データ44245とあります。 メモリ上のリストの配置例 メモリアドレス(いちばん左の数字) 109 :01100001   // その値が97(ポインタ)を指しています」 108 :01001011 107 :11010101 //ポイントされている2バイト整数データ 106 :10101100   //ポイントされている2バイト整数データ 105 :00001111   //次のポインタ値(15) 104 :10001010 103 : 11010101 102 : 11010101 101 : 01101100 100 : 11010101 99 : 11010101  //ポイントされている2バイト整数データ 98 : 01101100  //ポイントされている2バイト整数データ 97 ; 01101001  // 次のポインタ値(105) 96 : 11010101 コード ``

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

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

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

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

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

LouiS0616

2017/10/04 12:02

誤って途中で投稿してしまったのでしょうか?
scsi

2017/10/04 12:08

きっとそうですね。
退会済みユーザー

退会済みユーザー

2017/10/04 12:38

すみません。記載のURLを見ていただいて回答をおねがいします。うまくコピーできないので。
scsi

2017/10/04 12:58

テラテイルだけで完結するように質問してください
archiver

2017/10/04 14:15

記載のURLってなんですか?何も書いてありませんよ。
guest

回答3

0

解決済みですが補足まで記載します。
複数バイトから構成される値をどのように計算するかは、処理系の実装にもよります。
リトルエンディアン、ビッグエンディアンといった用語を調べられるとよいかと思います。

エンディアン - Wikipedia

投稿2017/10/05 00:10

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/10/06 01:17

助言ありがとうございます。
guest

0

ベストアンサー

106番地: 10101100(bin) → 172
107番地: 11010101(bin) → 213
172 x 256 + 213 = 44245

投稿2017/10/04 22:35

episteme

総合スコア16614

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

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

退会済みユーザー

退会済みユーザー

2017/10/04 23:15

ありがとうございます。解りにくい質問でごめんなさい。全部つないだ値ですね。 172の1桁目が256になっているということですよね。あと質問も修正しておきました。
episteme

2017/10/04 23:59

1byteで0~255を表現できる。それより大きくなったら上位byteに桁上げせんならん。 なので106番地の値を256倍しています。 ※ どうやら上位byte/下位byteの順で並んでいるのでしょう。
退会済みユーザー

退会済みユーザー

2017/10/06 01:15

ありがとうございます。リストのサイトを見ていて分からなかったので、そのまま先に行くのは勉強にならないので、すっきりして助かりました。構造体をリストで作ろうとして苦戦しています。
guest

0

回答します。

ドラえも「ん」

投稿2017/10/04 17:57

YouheiSakurai

総合スコア6142

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問