ポインタの扱いについて2点ほどありますが教えてください。
質問1:ポインタへの値代入
short data1[5];
short *pointa;
pointa = data1
(1)*(pointa + 1)=100;
(2)*pointa + 1 = 100;
という式があった場合、
(1)はdata1[1]の配列に100を代入する
(2)は命令違反的なことでコンパイルエラーが発生する
という理解でよろしいでしょうか?
質問2:アドレス値の代入
int var;(varのアドレス値は100番地)
int *ptr;
*ptr = &var;
という式があった場合
ポインタ変数のptrには、番地が入るのではなく、100という数値が入るという判断でよろしいいでしょうか?
長い質問となっていますので質問1,2どちらか一方でも、余裕のある方がおりましたら両方についてご解答のほどよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問1:*pointa + 1はコンパイラからすると
(*pointa) + 1
ということになります。
代入式の左辺では計算できません
質問2:文字列として出力した際には人間には100という数値が入ってるように見えますが
実際はアドレスです。
*ptrは”intのポインタ型”です
*ptr=「メモリの」100「番地」
です。
丁寧な回答ありがとうございます。
返信が遅くなりすみません。
質問1の(2)は、*pointa( 割り当てアドレスの中身(データ) )に
1加算して、さらに100を代入しようとしている為、ありえない処理
になる。(コンパイルしたらエラーで弾かれる)という認識でよろしいですか?
質問2については、*ptr( 割り当てアドレスの中身(データ) )に
アドレス100番地を格納するという認識でよろしいですか?
認識の間違いがあればご指摘くださいますよう、お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- JavaScript 変数宣言と初期値代入の場所について 3 2022/10/31 19:09
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Excel(エクセル) Excelで縦1列に並んだ大量の数字から、一定間隔で平均値を出したい。 2 2023/02/20 09:17
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
C言語の関数と配列に関する質問
-
fopne で失敗する原因
-
メモリのアドレスからの値の取...
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
エラーの意味
-
参照型で受け取った引数をポイ...
-
【VC++2005(CLR)】マルチスレッ...
-
TCHAR文字列内の検索について
-
セグメントエラー
-
ポインタのアドレス範囲
-
【なぜポインタを使うのか】
-
C言語のプログラムをJavaに...
-
ポインタ変数の利用方法
-
コンストラクタでnewを失敗した...
-
クイックソートの比較交換回数...
-
ポインタのミスでOS壊れるの...
-
デバイスハンドルとは?
-
#define NULL ((void *)0) の弊害
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
C言語の関数と配列に関する質問
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
ExcelVBAでのkernel32(64bit)
-
main(int argc,char **argv[])...
-
アプリを32bitから64bit移行
-
ハンドルはポインタか
-
連結リスト 要素の入れ替え
-
C言語でのconstを返す関数
-
Cで作成したDLL関数をVBから呼...
-
NULLとブランクの違い
-
エラーの意味
-
ハンドル、アドレス、ポインタ...
-
DLL<->VB間での受け渡し(文字...
-
【C言語】戻り値が構造体の関数
おすすめ情報