ヒープ領域の1バイトのアドレスを指す整数ポインタを使用しました。 次にintegerポインタにmax integerの値を代入しました。printf文の出力は、正しい値ではなくガベージ値でなければなりません。どうすれば可能ですか?説明してください。私は1バイトのスペースを割り当てるので、4バイトの最大整数をどのように印刷することができますか?
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
int main()
{
int *i;
i=malloc(sizeof(char));
*i=INT_MAX;
printf("%d",*i);
return 0;
}
だから、あなたは記憶から何かを盗んで、検出されずに逃げます。それは法的窃盗を法的にしますか?オラフ@ – Olaf
は、申し訳ありません私はあなたがあなたがあなたに属していない3つのバイトを使用している –
言いたかったのか理解できません。彼らはそこにいるわけではないし、プログラムはあなたのものとしてそれらを扱うことが幸せですが、それは依存することはできません。完全に動作する可能性がありますが、クラッシュする可能性があります。 –