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

12
const karakter * birleştirme
İki const karakterini şu şekilde birleştirmem gerekiyor: const char *one = "Hello "; const char *two = "World"; Bunu nasıl yapabilirim? Bu s’leri char*C arayüzlü bir üçüncü taraf kitaplığından geçiriyorum, bu yüzden std::stringbunun yerine kullanamıyorum .

12
C nerede bir C ++ alt kümesi değildir? [kapalı]
Kapalı . Bu soruya daha çok odaklanılması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Soruyu yalnızca bu gönderiyi düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 6 yıl önce kapalı . Bu soruyu geliştirin Birçok kitapta C'nin C ++ 'ın bir alt kümesi olduğunu okudum. …
116 c++  c 


3
Bir yapıyı 0 olarak başlatmak
Böyle bir yapım varsa: typedef struct { unsigned char c1; unsigned char c2; } myStruct; Bu yapıyı 0 olarak başlatmanın en kolay yolu ne olabilir? Aşağıdakiler yeterli olur mu? myStruct _m1 = {0}; veya Her bir üyeyi açık bir şekilde 0 olarak başlatmam gerekir mi? myStruct _m2 = {0,0};
116 c  struct  initialization 

3
# if tanımlıysa (WIN32) ve #ifdef (WIN32) arasındaki fark
Linux gcc 4.4.1 C99 üzerinde çalışacak programımı derliyorum. Windows ya da linux üzerinde derlenecek kodu ayırmak için # tanımlarımı koyuyordum. Ancak bu hatayı aldım. error: macro names must be identifiers. Bu kodu kullanarak #ifdef(WIN32) /* Do windows stuff #elif(UNIX) /* Do linux stuff */ #endif Ancak, bunu değiştirdiğimde hata düzeltildi: …
116 c 


8
C de negatif dizi indekslerine izin veriliyor mu?
Sadece bir kod okudum ve kişinin arr[-2]2. öğeye arr, şunun gibi, daha önce erişmek için kullandığını gördüm : |a|b|c|d|e|f|g| ^------------ arr[0] ^---------- arr[1] ^---------------- arr[-2] Buna izin var mı? Bunun arr[x]ile aynı olduğunu biliyorum *(arr + x). Yani arr[-2]olduğu *(arr - 2)Tamam görünüyor. Ne düşünüyorsun?
115 c  arrays 



6
C / C ++ programın maksimum yığın boyutu
100 X 100 dizisinde DFS yapmak istiyorum. (Dizinin elemanlarının grafik düğümlerini temsil ettiğini söyleyin) Yani en kötü durumda, özyinelemeli işlev çağrılarının derinliği 10000'e kadar çıkabilir ve her çağrı 20 bayta kadar çıkabilir. Öyleyse bu, bir yığın taşması olasılığı olduğu anlamına gelir mi? C / C ++ 'da maksimum yığın boyutu …
115 c++  c  stack 

4
Basit bir soketi bir SSL soketine dönüştürün
Soketler ('istemci' ve 'sunucu') kullanan basit C programları yazdım. (UNIX / Linux kullanımı) Sunucu tarafı basitçe bir soket oluşturur: sockfd = socket(AF_INET, SOCK_STREAM, 0); Ve sonra onu sockaddr'ye bağlar: bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); Ve dinler (ve kabul eder ve okur): listen(sockfd,5); newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, …
115 c  linux  sockets  unix  ssl 

12
C veri türleri "çoğu bilgisayar tarafından doğrudan desteklenir"?
K & R'nin "C Programlama Dili" ni okuyorum ve bu ifadeyle karşılaştım [Giriş, s. 3]: C tarafından sağlanan veri türleri ve denetim yapıları çoğu bilgisayar tarafından doğrudan desteklendiğinden , bağımsız programları uygulamak için gereken çalışma zamanı kitaplığı çok küçüktür. Kalın yazılmış ifade ne anlama geliyor? Bir veri türü veya bir …
114 c 


12
C'de yuvarlanan medyan algoritması
Şu anda C'de bir yuvarlanan medyan filtresi (yuvarlanan ortalama filtresine benzer) uygulamak için bir algoritma üzerinde çalışıyorum. Literatür araştırmamdan, bunu yapmanın makul derecede etkili iki yolu var gibi görünüyor. Birincisi, değerlerin ilk penceresini sıralamak, ardından yeni değeri eklemek ve her yinelemede mevcut olanı kaldırmak için bir ikili arama yapmaktır. İkincisi …
114 c  algorithm  r  statistics  median 


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.