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

2
0.0039215689 sabiti neyi temsil eder?
Çeşitli grafik başlık dosyalarında bu sürekli açılır pencereyi görmeye devam ediyorum 0.0039215689 Belki renk ile ilgili bir şey var gibi görünüyor? Google'daki ilk hit : void RDP_G_SETFOGCOLOR(void) { Gfx.FogColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f; Gfx.FogColor.G = _SHIFTR(w1, 16, 8) * 0.0039215689f; Gfx.FogColor.B = _SHIFTR(w1, 8, 8) * 0.0039215689f; Gfx.FogColor.A …


11
NULL, '\ 0' ve 0 arasındaki fark nedir?
C'de, sıfır - NULL, NULve arasındaki çeşitli değerler arasında farklar vardır 0. ASCII karakterinin veya olarak '0'değerlendirildiğini biliyorum .480x30 NULLİşaretçi genellikle şu şekilde tanımlanır: #define NULL 0 Veya #define NULL (void *)0 Buna ek olarak, değerlendirilmesi gereken bir NULkarakter de var.'\0'0 Bu üç değerin eşit olamayacağı zamanlar var mı? Bu …
309 c  pointers  null 

8
Neden rand () + rand () negatif sayılar üretir?
rand()Kütüphane fonksiyonunun bir döngü içinde sadece bir kez çağrıldığında neredeyse her zaman pozitif sayılar ürettiğini gözlemledim . for (i = 0; i < 100; i++) { printf("%d\n", rand()); } Ancak iki rand()arama eklediğimde , üretilen numaraların artık daha fazla negatif numarası var. for (i = 0; i < 100; i++) …
304 c  random 



5
Tek bir çarpma ile bitleri ayıklama
Bir kullanılan ilginç bir tekniği görünce cevap için başka bir soru , ve biraz daha iyi anlamak istiyorum. Bize işaretsiz bir 64 bit tam sayı verildi ve aşağıdaki bitlerle ilgileniyoruz: 1.......2.......3.......4.......5.......6.......7.......8....... Özellikle, bunları ilk sekiz konuma taşımak istiyoruz, şöyle: 12345678........................................................ Belirtilen bitlerin değerini umursamıyoruz .ve bunların korunması gerekmiyor. Solüsyon istenmeyen …

14
C cinsinden MIN ve MAX
Nerede MINve nerede MAXC tanımlanmış? Bunları genel olarak uygulamak ve mümkün olduğunca güvenli bir şekilde yazmak için en iyi yol nedir? (Ana derleyiciler için derleyici uzantıları / yerleşimleri tercih edilir.)
301 c  max  min  c-preprocessor 

3
Neden Intel C ++ Derleyici ile NaN - NaN == 0.0?
NaN'lerin aritmetik olarak yayıldığı iyi bilinir, ancak herhangi bir gösteri bulamadım, bu yüzden küçük bir test yazdım: #include <limits> #include <cstdio> int main(int argc, char* argv[]) { float qNaN = std::numeric_limits<float>::quiet_NaN(); float neg = -qNaN; float sub1 = 6.0f - qNaN; float sub2 = qNaN - 6.0f; float sub3 = …
300 c++  c  floating-point  ieee-754  icc 


4
C / C ++ 'da karakter boyutu (' a ')
C ve C ++ 'daki karakterin boyutu nedir? Bildiğim kadarıyla char boyutu C ve C ++ hem de 1 bayt. C dilinde: #include <stdio.h> int main() { printf("Size of char : %d\n", sizeof(char)); return 0; } C ++ dilinde: #include <iostream> int main() { std::cout << "Size of char : …
299 c++  c  types 

26
Geçen süreyi kolayca ölçün
Zamanı kullanmaya çalışıyorum ()Programımın çeşitli noktalarını ölçmek . Anlamadığım şey, önceki ve sonraki değerlerin neden aynı olduğudur? Bunun programımı profillendirmenin en iyi yolu olmadığını anlıyorum, sadece bir şeyin ne kadar sürdüğünü görmek istiyorum. printf("**MyProgram::before time= %ld\n", time(NULL)); doSomthing(); doSomthingLong(); printf("**MyProgram::after time= %ld\n", time(NULL)); Denedim: struct timeval diff, startTV, endTV; gettimeofday(&startTV, …
298 c++  c  linux  time  measurement 

9
C işaretçiler: ve işareti ve yıldız ne zaman kullanılır?
Sadece işaretçilerle başlıyorum ve biraz kafam karıştı. Ben &bir değişkenin adresi anlamına gelir ve bu *işaretçi tarafından işaret nesnenin değerini almak için bir işaretçi değişken önünde kullanılabilir. Ancak, dizilerle, dizelerle çalışırken veya bir değişkenin işaretçi kopyasına sahip işlevleri çağırırken işler farklı çalışır. Tüm bunların içinde bir mantık paterni görmek zor. …
298 c  pointers 

6
C dilinde int64_t türü nasıl yazdırılır
C99 standardı, int64_t gibi bayt boyutlu tamsayı türlerine sahiptir. Aşağıdaki kodu kullanıyorum: #include <stdio.h> #include <stdint.h> int64_t my_int = 999999999999999999; printf("This is my_int: %I64d\n", my_int); ve bu derleyici uyarısını alıyorum: warning: format ‘%I64d’ expects type ‘int’, but argument 2 has type ‘int64_t’ İle denedim: printf("This is my_int: %lld\n", my_int); // …
298 c  stdint 

3
C'deki >>> = operatörü nedir?
Bir meslektaşım tarafından bir bulmaca olarak verildiğinde, bu C programının aslında nasıl derlendiğini ve çalıştığını anlayamıyorum. Bu >>>=operatör ve garip 1P1gerçek nedir? Clang ve GCC'de test yaptım. Hiçbir uyarı yok ve çıktı "???" #include <stdio.h> int main() { int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return …

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.