Bir dize değişmezinin adresinin C'de saklandığı adresin adresini alıyor mu? Dize değişmezinin .rodata veri kümesinde saklandığını biliyorum. Ancak, bu adresin adresini almak mantıklı değil. Gc'nin bunu derlediğine ve çalışan bir yürütülebilir dosya oluşturduğuna dikkat edilmelidir.Bir dize değişmezinin adresini adresleme C
5
A
cevap
7
Sizin örnek geçerli değil: Bu geçerlidir
char **s = &"Is this valid?"; // Not valid, wrong type
:
char (*s)[15] = &"Is this valid?"; // OK
"Is this valid?"
tipi char[15]
olduğunu. Bir char
dizisine işaretçinin türü char (*)[15]
'dur. Yani &"Is this valid?"
türü char (*)[15]
'dur.
Dize değişmezinin türüolup, burada N
dizenin uzunluğudur.
2
&"Is this valid?"
tipi char (*)[15]
(char
bir uzunluk-15 dizisine yani bir işaretçi) 'dir.
GCC, -Wall
ile derleyip derlemediğinizi size bildireceğinden, kodunuz geçersiz.
İlgili konular
- 1. bir dize adresini gösteriliyor
- 2. C++ operatörsüz değişkenin adresini alın &
- 3. "Bir dize değişmezinin doğrudan karşılaştırması tanımlanmamış davranışa sahiptir" düzeltmesi otomatik olarak
- 4. Bir MAC adresini (bir dizide) C dizgesine nasıl dönüştürürsünüz?
- 5. Bir işaretçinin adresini bulma
- 6. dize, C#
- 7. C# Bilgisayarınızın MAC adresini "OFFLINE" edinin
- 8. Bir dize C bit nasıl dönüştürülür C#
- 9. Bir dize bir "word" sonra bir dize almak gerekiyor C#
- 10. Statik bir üyenin adresini ele geçirme C++ SSS
- 11. İşaretçinin adresini imzasız bir int içinde kaydetme C
- 12. Bir dize dizisini C nesnesinde bir dize dizisine dönüştürme D #
- 13. Bir dize dizisini bir dize konumuna göre sıralama (C#)
- 14. Bir dosyanın sonuna bir dize yazma (C++)
- 15. Bir URL'ye url adresini göster
- 16. lldb: Bir değişkenin adresini yazdırma
- 17. Ip adresini uzak bir makineden nasıl edinirsiniz?
- 18. Bir JavaScript değişkeninin hafıza adresini nasıl alabilirim?
- 19. Dize sorgusunu dize dizisine dönüştürme - C#
- 20. dize dönüştürmüyor çift dize çalışmıyor C#
- 21. C# dize işleme sorunu
- 22. c fonksiyonu dize
- 23. Bölünmüş dize C# (çeşit)
- 24. Özel dize karşılaştırma C#
- 25. Dize Arttırma İşlevi C
- 26. dize gruplama algoritması C#
- 27. Dize yineleme C# mono
- 28. dize değerleri enum C#
- 29. C# dize bölme
- 30. Windows 8 C# - dize
Bu "-Wall -Werror" ile yok. –