Pytania otagowane jako c

C jest uniwersalnym językiem programowania komputerowego używanym do systemów operacyjnych, gier i innych prac wymagających wysokiej wydajności.

10
Czy „zawsze inicjowanie zmiennych” nie prowadzi do ukrycia ważnych błędów?
Podstawowe wytyczne C ++ mają zasadę ES.20: Zawsze inicjuj obiekt . Unikaj błędów wcześniej ustawionych i związanych z nimi niezdefiniowanych zachowań. Unikaj problemów ze zrozumieniem złożonej inicjalizacji. Uprość refaktoryzację. Ale ta zasada nie pomaga znaleźć błędów, tylko je ukrywa. Załóżmy, że program ma ścieżkę wykonania, w której wykorzystuje niezainicjowaną zmienną. …
35 c++  c 

8
Dlaczego Clang / LLVM ostrzega mnie przed użyciem wartości domyślnej w instrukcji switch, w której uwzględniono wszystkie wyliczone przypadki?
Rozważ następującą instrukcję wyliczania i przełączania: typedef enum { MaskValueUno, MaskValueDos } testingMask; void myFunction(testingMask theMask) { switch (theMask) { case MaskValueUno: {}// deal with it case MaskValueDos: {}// deal with it default: {} //deal with an unexpected or uninitialized value } }; Jestem programistą Objective-C, ale napisałem to w …




7
Pisanie w C dla wydajności? [Zamknięte]
Wiem, że dość często słyszałem, że C zazwyczaj ma przewagę wydajności nad C ++. Tak naprawdę nie myślałem o niczym innym, dopóki nie zdałem sobie sprawy, że MSVC wydaje się nawet nie obsługiwać najnowszego standardu C, ale najnowszy obsługuje C99 (o ile mi wiadomo). Planowałem napisać bibliotekę z kodem do …

11
typedefs i #defines
Wszyscy zdecydowanie używaliśmy typedefsi #defineraz lub drugi. Dzisiaj, pracując z nimi, zacząłem się nad czymś zastanawiać. Rozważ poniższe 2 sytuacje, aby użyć inttypu danych o innej nazwie: typedef int MYINTEGER i #define MYINTEGER int Podobnie jak w powyższej sytuacji, w wielu sytuacjach możemy bardzo dobrze osiągnąć coś za pomocą #define, …



2
Jakie jest pochodzenie Preprocesora C?
Preprocesor C jest dołączony do C, ale ma zupełnie inną składnię niż język główny: znaczące spoczynkowo białe znaki (koniec linii kończy instrukcję, przerwa po tym, jak makro określa początek listy zastępczej) bloki oparte na słowach kluczowych zamiast wzmocnionych bloków elifzamiastelse if definicje oparte na słowach kluczowych zamiast deklaracji odzwierciedla użycie, …
30 c  history  macros 


10
Jaki jest „typ” danych przechowywanych przez wskaźniki w języku C?
Wiem, że wskaźniki przechowują adresy. Wiem, że typy wskaźników są „ogólnie” znane na podstawie „typu” danych, na które wskazują. Jednak wskaźniki nadal są zmiennymi, a adresy, które przechowują, muszą mieć „typ” danych. Według moich informacji adresy są w formacie szesnastkowym. Ale nadal nie wiem, jaki „typ” danych to ten szesnastkowy. …
30 c  pointers 


2
Dlaczego literały łańcuchowe C są tylko do odczytu?
Jakie zalety literałów łańcuchowych jako tylko do odczytu uzasadniają (-ies / -ied): To kolejny sposób na zastrzelenie się w stopę char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ Niemożność eleganckiego zainicjowania tablicy słów do odczytu i zapisu w jednym wierszu: char *foo[] = { "bar", "baz", "running out …
29 c  memory  strings 

10
Czy użycie zmiennych wskaźnikowych nie jest narzutem pamięci?
W językach takich jak C i C ++, używając wskaźników do zmiennych, potrzebujemy jeszcze jednej lokalizacji pamięci do przechowywania tego adresu. Czy to nie jest narzut pamięci? Jak to jest kompensowane? Czy wskaźniki są używane w aplikacjach o krytycznym czasie niskiej pamięci?
29 c++  c  pointers 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.