«pointers» etiketlenmiş sorular

Bellekte saklanan başka bir değere "işaret eden" veri türü. İşaretçi değişkeni, başka bir varlığın (değişken veya işlev veya başka bir varlık) bir bellek adresi içerir. Bu etiket referans değil, işaretçi kullanımını içeren sorular için kullanılmalıdır. İşaretçileri kullanan en yaygın programlama dilleri C, C ++, Go ve montaj dilleridir. Belirli bir dil etiketi kullanın. Diğer yararlı etiketler, işaretçinin kullanımını açıklayan yöntem, işlev, yapı vb.


6
Neden bir dizinin adresi C'deki değerine eşittir?
Aşağıdaki kod bitinde, işaretçi değerleri ve işaretçi adresleri beklendiği gibi farklılık gösterir. Ancak dizi değerleri ve adresleri yok! Bu nasıl olabilir? Çıktı my_array = 0022FF00 &my_array = 0022FF00 pointer_to_array = 0022FF00 &pointer_to_array = 0022FEFC #include <stdio.h> int main() { char my_array[100] = "some cool string"; printf("my_array = %p\n", my_array); printf("&my_array …
189 c  pointers  arrays 



2
'Bu' neden referans değil işaretçi?
Bu sorunun cevabını C ++ artıları ve eksileri okuyordum ve yorumları okurken bu şüphe var. programcılar sık ​​sık "bu" bir işaretçi olduğunu, ancak bir referans değil kafa karıştırıcı buluyorum. başka bir karışıklık neden "merhaba" std :: string türünde değil, ancak char const * (pointer) (dizi-işaretçi dönüşüm sonra) değerlendirir - Johannes …



29
İnsanlar C işaretçileri hakkında neyi zor buluyor? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …
173 c  pointers 


6
C'de neden bazı insanlar imleci serbest bırakmadan önce kullanıyor?
Ben eski bir kod tabanı üzerinde çalışıyorum ve hemen hemen ücretsiz () her çağrışımı kendi argümanı bir döküm kullanır. Örneğin, free((float *)velocity); free((float *)acceleration); free((char *)label); burada her işaretçi karşılık gelen (ve eşleşen) tiptedir. Bunu yapmanın bir anlamı yok. Çok eski bir kod, bu yüzden bir K&R şey olup olmadığını …
167 c  pointers  casting 

10
Tüm nesneleri mi yoksa işaretçileri kaplarda mı saklamalıyım?
Sıfırdan yeni bir sistem tasarlamak. Uzun ömürlü bazı nesnelerin listelerini ve haritalarını saklamak için STL'yi kullanacağım. Soru: Nesnelerimin kopya oluşturucularına sahip olmasını ve nesnelerin kopyalarını STL kaplarımda saklamasını mı sağlamalıyım yoksa yaşamı ve kapsamı kendim yönetmek ve yalnızca işaretleyicileri bu nesnelere STL kaplarımda saklamak daha mı iyi? Bunun ayrıntılarda biraz …
162 c++  stl  pointers 

8
C kullanarak bir dizi döndürmek
C konusunda nispeten yeniyim ve dizilerle ilgili yöntemlerde biraz yardıma ihtiyacım var. Java programlamasından geldiğimde, int [] method()bir dizi döndürmek için söyleyebilmeye alıştım. Bununla birlikte, C ile, dizileri döndürdüğünüzde diziler için işaretçiler kullanmanız gerektiğini öğrendim. Yeni bir programcı olarak, baktığım birçok forumda bile bunu gerçekten anlamıyorum. Temel olarak, C'de bir …
158 c  arrays  pointers  char 

8
C ++ kitaplıkları ve çerçeveleri neden asla akıllı işaretçiler kullanmıyor?
Birkaç makalede, ham işaretçilerin neredeyse hiç kullanılmaması gerektiğini okudum. Bunun yerine, ister kapsamlandırılmış ister paylaşılan işaretçiler olsun, daima akıllı işaretçilerin içine sarılmalıdır. Ancak, Qt, wxWidgets ve Boost gibi kütüphanelerin, sanki hiç kullanmıyormuş gibi, akıllı işaretçiler asla geri dönmediğini veya beklemediğini fark ettim. Bunun yerine geri dönerler veya ham işaretçiler beklerler. …


12
Neden x [0]! = X [0] [0]! = X [0] [0] [0]?
Biraz C ++ okuyorum ve işaretçilerle savaşıyorum. Şunu bildirerek 3 seviye işaretine sahip olabileceğimi anlıyorum: int *(*x)[5]; bu *xişaretçi olan 5 öğeden oluşan bir dizi için bir işaretçi int. Ayrıca biliyorum x[0] = *(x+0);, x[1] = *(x+1)vb. Peki, yukarıdaki açıklama göz önüne alındığında, neden x[0] != x[0][0] != x[0][0][0]?
149 c++  c  arrays  pointers 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.