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

8
Bir C işaretçisini NULL olarak başlatmak mümkün müdür?
Şöyle şeyler yazıyordum char *x=NULL; varsayımıyla char *x=2; charadres 2'ye bir işaretçi oluşturacaktır . Ancak, GNU C Programlama Öğreticisi'ndeint *my_int_ptr = 2; , tamsayı değerini , tahsis edildiğinde 2rasgele adres ne olursa olsun sakladığını söylüyor my_int_ptr. Bu benim kendi ima görünüyor char *x=NULLdeğeri ne olursa olsun atayan NULLbir etmek döküm …




10
C # Referansı ile İşaretçi arasındaki fark nedir?
C # başvurusu ile işaretçi arasındaki farkı tam olarak anlamıyorum. İkisi de hafızada bir yeri işaret ediyor değil mi? Anlayabildiğim tek fark, işaretçilerin o kadar akıllı olmaması, yığın üzerindeki hiçbir şeyi gösterememesi, çöp toplamadan muaf olması ve yalnızca yapılara veya temel türlere başvurabilmesidir. Sormamın nedenlerinden biri, insanların iyi bir programcı …
86 c#  pointers  reference 



5
"İnt * nums = {5, 2, 1, 4}" bölümleme hatasına neden olur
int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); segfault'a neden olurken int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); değil. Şimdi: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); baskılar 5. Buna dayanarak, dizi başlatma gösteriminin, {}, bu veriyi, soldaki değişkene körü körüne yüklediğini tahmin ettim. İnt …
81 c  arrays  pointers 

6
const char * ve char const * - aynı mı?
Benim anlayışıma göre, constdeğiştiriciler sağdan sola okunmalıdır. Bundan anlıyorum: const char* char öğeleri değiştirilemeyen bir göstericidir, ancak işaretçinin kendisi yapabilir ve char const* mutablekarakterlere sabit bir göstericidir . Ancak aşağıdaki kod için aşağıdaki hataları alıyorum: const char* x = new char[20]; x = new char[30]; //this works, as expected x[0] …

7
0 değerini ikame olarak NULL kullanabilir miyim?
NULLİşaretçiyi, değerinin yerine kullanmam için kullanabilir miyim 0? Yoksa bununla ilgili yanlış bir şey mi var? Mesela, örneğin: int i = NULL; yedek olarak: int i = 0; Deney olarak aşağıdaki kodu derledim: #include <stdio.h> int main(void) { int i = NULL; printf("%d",i); return 0; } Çıktı: 0 Nitekim bana …

4
((Void (*) ()) buf) (); anlamına gelmek?
Ben picoCTF ikili bir sömürü meydan okuma çözüyorum ve bu kod parçası rastladı: ((void (*)())buf)(); bufbir karakter dizisi nerede . Zorluğu çözdüm ama tam olarak ne yaptığını anlayamıyorum. Bu konuya baktım ama başaramadım. Ne anlama ((void (*)())buf)();geliyor?

6
Neden bu hak talebinde bulunulmayan tür cezalandırılan işaretçi uyarı derleyicisine özel?
Okuduğum çeşitli mesajları üzerinde yığın taşması RE: derefercing tip punned işaretçi hatası. Anladığım kadarıyla, hata aslında bir nesneye farklı tipte bir işaretçi (bir istisna yapılmış gibi gözükse de char*) üzerinden erişilme tehlikesinin anlaşılabilir ve makul bir uyarı olduğu uyarısıdır. Benim sorum aşağıdaki koda özgüdür: neden bir işaretçi adresi void**bu uyarı …
38 c  pointers  casting 


7
İşaretçi karşılaştırması C'de nasıl çalışır? Aynı diziye işaret etmeyen işaretçileri karşılaştırmak uygun mudur?
K&R (C Programlama Dili 2. Baskı) bölüm 5'de aşağıdakileri okudum: İlk olarak, işaretçiler belirli koşullar altında karşılaştırılabilir. Eğer pve qardından ilişkiler gibi nokta aynı dizinin üyelerine ==, !=, <, >=düzgün, vb işleri. Bu da sadece aynı diziyi gösteren işaretçilerin karşılaştırılabileceği anlamına geliyor. Ancak bu kodu denediğimde char t = 't'; …

4
Void * function () işlev için bir işaretçi mi yoksa void * döndüren bir işlev mi?
Anlamı hakkında kafam karıştı void *function(). Bir işaretçi void*mi, yoksa dönen bir fonksiyon mu? Ben her zaman bir işaretçi dönen özyinelemeli bir işlev olarak veri yapıları üzerinde kullandım, ama ben multithreading ( pthread) bir kod gördüğümde aynı işlev bildirimi vardır. Şimdi aralarındaki farkın ne olduğunu karıştırıyorum.

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.