アドレス

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Cユーザー

アドレス

#1

投稿記事 by Cユーザー » 13年前

領域128バイトをもったメモリの先頭アドレス
char* pがあったとすると

この先頭アドレスから64バイト先の
アドレスを取得する方法は以下で正しいですか?

char*p2=p+64;

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: アドレス

#2

投稿記事 by softya(ソフト屋) » 13年前

charと言う型に限定すれば、64バイト先で合っています。
他の型だと64バイトでは無くなる可能性があります。
→ ポインタ演算
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Cユーザー

Re: アドレス

#3

投稿記事 by Cユーザー » 13年前

すいません。

先頭アドレスを覚えていて、
ポインターを64バイト進めて覚えている先頭アドレス
を使って最初の位置に戻るプログラムは
が教えてもらえますか?

ビルドえらあになりまくりで混乱中です

Cユーザー

re: アドレス

#4

投稿記事 by Cユーザー » 13年前

すいません
ちょっと日本語文章になりました

Cユーザー

Re: アドレス

#5

投稿記事 by Cユーザー » 13年前

おかしいな。。

変な日本語文章になりました
すいません

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: アドレス

#6

投稿記事 by softya(ソフト屋) » 13年前

何をしたいのか分かりませんが、複数のポインタを管理するならポインタ配列とかポインタリストを使ったほうが安全度の高いプログラムを作れます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

box
記事: 2002
登録日時: 15年前

Re: アドレス

#7

投稿記事 by box » 13年前

Cユーザー さんが書きました: ビルドえらあになりまくりで混乱中です
そのソースコードを貼ってください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

Cユーザー

Re: アドレス

#8

投稿記事 by Cユーザー » 13年前

ポインターを動かしたり初期位置に戻したりする勉強です
これが理解できたら次のステップにいきます

Cユーザー

Re: アドレス

#9

投稿記事 by Cユーザー » 13年前

ソースコードといっとも
char p2=&p;//初期位置アドレス取得

とかやって型エラーになり、型なんだっけ。。
とかやってました

この辺が全然わかってない感じです

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: アドレス

#10

投稿記事 by softya(ソフト屋) » 13年前

Cユーザー さんが書きました:ソースコードといっとも
char p2=&p;//初期位置アドレス取得

とかやって型エラーになり、型なんだっけ。。
とかやってました

この辺が全然わかってない感じです
全部char型のポインタとして操作することはオススメ出来ません。
元々の型のポインタを使って下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

box
記事: 2002
登録日時: 15年前

Re: アドレス

#11

投稿記事 by box » 13年前

Cユーザー さんが書きました: char p2=&p;//初期位置アドレス取得
たぶん、

コード:

    char *p2 = p;    //初期位置アドレス取得
こういうことがしたかったのではないでしょうか。

コード:

    char  p2=&p;//初期位置アドレス取得
このコードでは、左辺はchar型、右辺はchar **型となり、
両辺の型が異なっています。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: アドレス

#12

投稿記事 by ISLe » 13年前

前の質問と合わせると、とても危険でまったく意味のないことをやろうとしている感じがします。

Cユーザー

Re: アドレス

#13

投稿記事 by Cユーザー » 13年前

色々考えてみたところ勘違いしていました。

ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る