«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.


11
Bağlantılı listeler düğümleri düğümlerin içinde depolamak yerine neden işaretçiler kullanıyor?
Daha önce Java'da yoğun olarak bağlantılı listelerle çalıştım, ancak C ++ konusunda çok yeniyim. Bana bir projede verilen bu düğüm sınıfını kullanıyordum gayet iyi class Node { public: Node(int data); int m_data; Node *m_next; }; ama çok iyi cevaplanmamış bir sorum vardı. Neden kullanmak gerekli Node *m_next; yerine listedeki sonraki …

21
Boş gösterici için neden sıfır adresi kullanılır?
C (veya bu konuda C ++ 'da), eğer sıfır değerine sahiplerse, işaretçiler özeldir: Hafızalarını serbest bıraktıktan sonra işaretçileri sıfıra ayarlamam tavsiye edilir, çünkü bu, işaretçiyi tekrar serbest bırakmanın tehlikeli olmadığı anlamına gelir; malloc'u çağırdığımda, bana belleği alamazsa sıfır değerine sahip bir işaretçi döndürür; Kullandığım if (p != 0)emin geçti işaretçiler …
121 c++  c  memory  pointers 

10
İki boyutlu diziye bir işaretçi oluşturun
Statik bir 2 boyutlu diziye bir göstericiye ihtiyacım var. Bu nasıl yapılır? static uint8_t l_matrix[10][20]; void test(){ uint8_t **matrix_ptr = l_matrix; //wrong idea } Gibi her türlü hatayı alıyorum: uyarı: uyumsuz işaretçi türünden atama indisli değer ne dizi ne de işaretçi hata: geçersiz esnek dizi üyesi kullanımı
120 c  arrays  pointers 

9
C işaretçileri: sabit boyutlu bir diziye işaret etme
Bu soru oradaki C gurularına geliyor: C'de bir gösterici şu şekilde bildirilebilir: char (* p)[10]; .. temelde bu işaretçinin 10 karakterlik bir diziyi gösterdiğini belirtir. Bunun gibi bir gösterici bildirmenin en güzel yanı, p'ye farklı boyutta bir dizi gösterici atamaya çalışırsanız derleme zamanı hatası alacağınızdır. Basit bir karakter göstericisinin değerini …
120 c  pointers  size 



2
"<Tür>, arayüzün göstergesidir, arayüze değil" karışıklığı
Sevgili geliştiriciler, Bana biraz tuhaf görünen bu problemim var. Şu kod pasajına bir göz atın: package coreinterfaces type FilterInterface interface { Filter(s *string) bool } type FieldFilter struct { Key string Val string } func (ff *FieldFilter) Filter(s *string) bool { // Some code } type FilterMapInterface interface { AddFilter(f …
117 pointers  go  interface 

2
Go'da birebir * int64 nasıl yaparım?
Alanlı bir yapı tipim var *int64. type SomeType struct { SomeField *int64 } Kodumun bir noktasında, bunu birebir beyan etmek istiyorum (örneğin, söz konusu değerin 0 olması gerektiğini bildiğimde veya 0'ı gösterdiğimde, ne demek istediğimi anlıyorsunuz) instance := SomeType{ SomeField: &amp;0, } ... dışında bu işe yaramaz ./main.go:xx: cannot use …
113 pointers  go  struct  literals 



10
Ücretsiz (ptr) nerede ptr BOŞ bellek bozuk mu?
Teorik olarak şunu söyleyebilirim free(ptr); free(ptr); Zaten serbest bırakılan belleği boşalttığımız için bir bellek bozulmasıdır. Ama ya eğer free(ptr); ptr=NULL; free(ptr); İşletim sistemi tanımlanmamış bir şekilde davranacağından, neler olduğuna dair bunun için gerçek bir teorik analiz elde edemiyorum. Ne yaparsam yapayım, bu bellek bozulması mı, değil mi? NULL işaretçisi serbest …



2
Değer alıcısı ve işaretçi alıcısı
Benim için çok net değil, bu durumda her zaman bir işaretçi alıcı kullanmak yerine bir değer alıcısı kullanmak isterdim. Dokümanlardan özetlemek için: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return …
108 function  pointers  go 

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.