Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

[C/C++] Pointer ile ilgili sorum olacak


Bloodless

Öne çıkan mesajlar

Bildiğimiz üzere pointer (işaretçiler) bellek adreslerine işaret ederler.

Merak ettiğim;


char * str;
str = "OSMAN BIZI ISINLA";



şeklinde bir işaretçiye nasıl oluyorda atama yapabilirken,


scanf("%s",str);



şeklinde bir atamaya izin vermiyor.
Ya da bir dizin olarak düşünürsek değişkenimizi


char isim[32];
isim = "HEDEEE";



yapamazken scanf ile atayabiliyoruz.
Link to comment
Sosyal ağlarda paylaş

"OSMAN BIZI ISINLA" assemblyde gömülü bir string o yüzden str'yi değiştirmeye çalışırsan program patlar, hatta char *str değil const char *str olarak tanımlaman lazım ki istesen de değiştirmeye çalışama. compilerlar warning bile veriyor bunun için

isim[32] ise sonradan define edilemez, çünkü char isim[32]; dediğinde isim artık bi yeri işaret ediyor, başka bi adres işaret edemezsin. strcpy, memcpy ile içine doldurman gerekiyor. başlangıçta char isim[32]="aaaa"; gibi bir şey yapabilirsin ama sonradan definition olmaz.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...