私はこのプログラム実行しています:pointCharと*(ポインタ+ 1)*出力と同じ結果を同じCのポインタが異なる値を示していますか?
#include<stdio.h>
void main(){
int num = 1025;
int *poinTer = #
char *pointChar = poinTer+1;
*pointChar = 'A';
printf("Size of Integer: %d\n", sizeof(int));
printf("Address: %d, Value: %d\n", poinTer, *poinTer);
printf("Address: %d, Value: %c\n", poinTer+1, *(poinTer+1));
printf("Address: %d, Value: %c\n", pointChar, *pointChar);
}
をすべきであるが、私は取得しています出力が異なっています。 * pointCharは値を出力しません:
Size of Integer: 4
Address: 1704004844, Value: 1025
Address: 1704004848, Value: A
Address: 1704004673, Value:
ここには何が起こっていますか?
は未定義の動作です:)表現ポインタ+オブジェクトNUMを超えても1ポイント。 –
また、あなたはポインタに変換指定子%dを使用しなくてもよいのchar * pointChar =(char型*)ポインタ+ 1 –
を意味するようです。 –