Şu anda bir işaretçiyi bir gösterici olarak scanf
içine iletmeye çalıştığım bir C programı üzerinde çalışıyorum.C programlamada bir scanf argümanına bir işaretçi gösterebilir mi?
Örnek:
int main() {
int *num;
scanf("%d", num);
printf("%d", *num);
}
bir adres tipik scanf
geçer bir işaretçi tutan adresi depolayamazsınız neden bkz olmayan bir değeri saklamak için göz önüne alındığında. Bu kod bloğunu çalıştırmayı denediğimde bir bellek hatası alıyorum. Sorun ne olabilir?
ben "adam scanf" öneriyoruz. Cevabı oldukça sade bulmalısın. –
Lütfen açıklayınız ** hangi ** adresi tutuyor! – Olaf
Bir işaretçiyi işaret etmek, onu başlatmayı unutmanız dışında iyidir. 'num' undefined, yani 'scanf' için rastgele, bilinmeyen bir işaretçi değerini geçiyorsunuz. Sadece 'num' değerini değer için kullanmak istediğiniz int 'değişkeninin adresine başlatalım ve sonra işe yarayacaktır. Sadece int int; gibi bir şey bildirin ve sonra 'num' değerini başlatmak için num = &val; 'atayın. –