goo blog サービス終了のお知らせ 

新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

望洋先生の「秘伝C言語問答ポインタ編」No21 ポインタの大きさは何バイト?

2020-10-17 22:06:53 | C、CPP

 上はネタ本の通りです。unsignedの場合は、純粋のメモリのアドレスの計算になるようです。ポインタの場合は、この場合は+1でアドレスは+4するようです。int32を使ってるようです。

 大きな違いは、x[0]のアドレスをポインタにセットの仕方が違います。Cではp=&x[0]、多分int* p=&x[0];でも良いと思います。C#では、int *p=(int *)x[0];と書いてます。なんで&が無いんですかね?C#では参照渡しのとき使っていたはずです。

 上の図の通りで実行できるんですが、コンパイラは別の書き方に訂正したいようです。C言語とC#の違いですが、int *p, *q;と書けるのが、C言語。int *p; int *q;と書かないといけないのがC#のようです。



最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。