«c» etiketlenmiş sorular

C, sistem programlama (OS ve gömülü), kütüphaneler, oyunlar ve çapraz platform için kullanılan genel amaçlı bir programlama dilidir. Bu etiket, ISO 9899 standardında tanımlandığı gibi C dili ile ilgili genel sorularla kullanılmalıdır (aksi belirtilmedikçe en son sürüm 9899: 2018 - c89, c99, c11 vb. İle sürüme özgü istekleri de etiketleyin). C, C ++ 'dan farklıdır ve rasyonel bir nedenden yoksun C ++ etiketi ile birleştirilmemelidir.

9
Neden bir değer döndürmeden geçersiz bir işlevin sonundan akmak derleyici hatası üretmez?
Yıllar önce fark ettiğimden beri, bunun varsayılan olarak bir hata üretmediğini (en azından GCC'de), neden hep merak ettim? Bir uyarı oluşturmak için derleyici bayrakları verebileceğinizi anlıyorum, ancak her zaman bir hata olmamalı mı? Geçersiz olmayan bir fonksiyonun bir değer döndürmemesi neden mantıklı geliyor? Yorumlarda talep edilen bir örnek: #include <stdio.h> …
158 c++  c  gcc  g++ 

8
C çalışma zamanı kitaplığı nedir?
Aslında bir C çalışma zamanı kütüphanesi nedir ve ne için kullanılır? Arama yapıyordum, şeytan gibi Googling yapıyordum, ancak Microsoft'unkinden daha iyi bir şey bulamadım: "Microsoft çalışma zamanı kitaplığı, Microsoft Windows işletim sistemi için programlama için rutinler sağlar. Bu rutinler, sağlanmayan birçok genel programlama görevini otomatik hale getirir C ve C …
158 c  runtime 


9
Z soketinde C ++ API'sini kullanma
C++Üzerinde düzgün çalışması için C yuva API alma sorunları yaşıyorum z/OS. Ben dahil olmasına rağmen sys/socket.h, hala tanımlı olmadığını söyleyen derleme zamanı hataları alıyorum .AF_INET Açık bir şey mi kaçırıyorum, yoksa bu, z/OSsorunumun daha karmaşık hale gelmesi ile mi ilgili? Güncelleme : Daha fazla araştırma yapıldığında, #ifdefvurduğum bir şey olduğunu …
158 c++  c  sockets  mainframe  zos 

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 

24
C için yararlı GCC bayrakları
Ayarlama -Wallve ayarlamanın ötesinde , -std=XXXC'de kullanmak için gerçekten yararlı, ancak daha az bilinen derleyici bayrakları var mı? Özellikle ek uyarılarla ve / veya bazı durumlarda yanlışlıkla tür uyumsuzluklarını en aza indirmek için uyarıları hatalara dönüştürmekle ilgileniyorum.
157 c  gcc  compiler-flags 

22
C'de nesne yönelimi
C'de çirkin (ancak kullanılabilir) bir nesne yönelimi sağlayan bir dizi şık önişlemci kesmek (ANSI C89 / ISO C90 uyumlu) ne olurdu? Birkaç farklı nesne yönelimli dile aşinayım, bu yüzden lütfen "C ++ öğrenin!" " ANSI C ile Nesneye Yönelik Programlama " (dikkat: PDF formatında ) ve diğer bazı ilginç çözümler …
157 c  oop  object 

11
memcpy () vs memmove ()
Ben arasındaki farkı anlamaya çalışıyorum memcpy()ve memmove(), ve ben metni okumak zorunda memcpy()oysa örtüşen kaynağın bakım ve hedef almaz memmove()yapar. Ancak, bu iki işlevi üst üste gelen bellek bloklarında yürüttüğümde, ikisi de aynı sonucu verir. Örneğin, memmove()yardım sayfasında aşağıdaki MSDN örneğini alın : - Bunun dezavantajlarını memcpyve nasıl memmoveçözdüğünü anlamak …
157 c  memcpy  memmove 

10
Bir işaretçiyi iletmek yerine yapıları C değerine göre geçirmenin dezavantajları var mı?
Bir işaretçiyi iletmek yerine yapıları C değerine göre geçirmenin dezavantajları var mı? Yapı büyükse, çok sayıda veri kopyalamanın performans açısından açık bir yönü vardır, ancak daha küçük bir yapı için, temel olarak bir işleve birkaç değer iletmekle aynı olmalıdır. Dönüş değerleri olarak kullanıldığında daha da ilginç olabilir. C'nin işlevlerden yalnızca …


9
Neden bzero'yu memset üzerinde kullanıyorsunuz?
Bir Sistem Programlama dersinde bu önceki dönemi aldım, C'de temel bir istemci / sunucu uygulamak zorunda kaldık sock_addr_in. Profesör ya da char arabellekleri (istemci ve sunucu arasında ileri ve geri veri gönderirken kullandığımız) profesörü bize sadece onları kullanmamızı bzerove memsetbaşlatmamamızı emretti . Nedenini hiç açıklamadı ve bunun geçerli bir nedeni …

23
Serbest bırakıldıktan sonra değişkeni NULL olarak ayarlama
Şirketimde, herhangi bir belleği boşalttıktan sonra değişkeni sıfırlayan bir kodlama kuralı var NULL. Örneğin ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Yukarıda gösterilen kod gibi durumlarda, ayarının NULLherhangi bir anlamı olmadığını hissediyorum . Yoksa bir şey mi kaçırıyorum? Böyle …


5
Bit kaydırma endianiteye bağlı mı?
Diyelim ki 'numb'=1025 [00000000 00000000 00000100 00000001]temsil edilen numara var : Little-Endian Makinede: 00000001 00000100 00000000 00000000 Big-Endian Makinede: 00000000 00000000 00000100 00000001 Şimdi, 10 bitlik Sol Shift uygularsam (yani: numb << = 10), sahip olmalıyım: [A] Little-Endian Makinasında: GDB'de fark ettiğim gibi, Little Endian Sol Vardiyayı 3 adımda yapıyor: …
156 c  endianness 

9
Değişkenlerim C'de nerede saklanıyor?
Belleğin dört bölüme ayrıldığını göz önünde bulundurarak: küresel değişkenler, statik değişkenler, sabit veri türleri, yerel değişkenler (işlevlerde tanımlanmış ve bildirilmiş), değişkenler (ana işlevde), işaretçiler nerede; veri, yığın, yığın ve kod ve dinamik olarak tahsis edilen alan (malloc ve calloc kullanarak) bellekte depolanıyor mu? Bence onlar aşağıdaki gibi tahsis edilecektir: Global …

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.