constについて

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

constについて

#1

投稿記事 by 泣き虫太郎 » 13年前

constを使うときにおいて、ポインタが絡んでくるとよくわからないので投稿さしていただきました。
たとえばconst int *temp;   これは、tempに入ってるアドレスに対して代入禁止にしてるのか、はたまたtempがさしてるオブジェクトに対して代入禁止にしてるのか、どちらなのでしょうか?また、int * const temp; これは、tempに入ってるアドレスに対して代入禁止にしているのでしょうか?

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: constについて

#2

投稿記事 by beatle » 13年前

代入するようなプログラムを書いてみれば分かることではないですか?
実験こそが上達の道です!

答えを書きますが、
const int *temp は *temp = 0; が禁止されます。 temp = &hoge; は可能です。
int * const temp は temp = &hoge; が禁止されます。 *temp = 0; は可能です。

泣き虫太郎

Re: constについて

#3

投稿記事 by 泣き虫太郎 » 13年前

実際に実験したらおっしゃられた通りになりました。人に聞く前に自分で実験することも大切ですね^^。これからはわからないことがあったらまず実験することにしますw。回答ありでした!

閉鎖

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