Tag: c99

Dieser tag ist für Fragen in Bezug auf den Internationalen Standard ISO 9899:1999, aka „C99“, mit technischen Korrekturen, und bei Fragen zu code ist geschrieben in C99 (im Gegensatz zu K&R-C, C89 oder später C-Standard Revisionen wie die 2011 Version C11).

ftell an einer position in der Vergangenheit 2GB

Anzahl der Antworten 3 Antworten
Auf einem 32-bit-system, was bedeutet ftell zurück, wenn die aktuelle position Anzeige der Datei im Binärmodus geöffnet ist Vergangenheit die 2GB Punkt? In der C99 standard, ist diese Undefiniertes Verhalten seit ftell muss wieder ein long int

Warum gibt es Digraphen in C und C++?

Anzahl der Antworten 4 Antworten
Ich heute gelernt, dass es Digraphen in C99 und C++. Das folgende ist ein gültiges Programm: %:include <stdio.h> %:ifndef BUFSIZE %:define BUFSIZE 512 %:endif void copy(char d<::>, const char s<::>, int len) <% while (len-- >= 0)

Wie zum analysieren einer Zeichenfolge in eine datetime Struktur in C?

Anzahl der Antworten 2 Antworten
Ich würde gern einen string (char*) untersucht und in einem tm-struct in C. gibt es eine built-in-Funktion zu tun? Beziehe ich mich auf ANSI-C in der C99-Standard. InformationsquelleAutor thoaionline | 2010-04-27

Erzeugende Funktion Erklärung mit Hilfe eines makro-iteration

Anzahl der Antworten 2 Antworten
Ich versuche zu generieren, die Funktionsdeklaration mit einem makro /* goal: generate int f(int a, float b) */ template<typename P> struct ptype; template<typename P> struct ptype<void(P)> { typedef P type; }; #define NAMEe #define COMMAe #define COMMA

Ist es eine gute Idee, C99 VLA im Vergleich zu malloc/free?

Anzahl der Antworten 5 Antworten
Ist es eine gute Idee, mit C99-VLA? Wann ist es angebracht, VLA im Vergleich zu malloc/free? (da VLA kann blow up stack?) Vermeiden Sie ungeklärte TLAs wie VLAs... Der Begriff "VLA" ist eine gut etablierte, namhafte Bedeutung

int_max in der 32-bit vs 64-bit-Umgebung

Anzahl der Antworten 3 Antworten
Ist INT_MAX Unterschied zwischen 32-bit und 64-bit-Umgebung? Es scheint, wie es der Fall wäre, aber ich habe gehört, wie Leute sagen, dass die 64-bit-Umgebung nur verwendet die 32-bit-Umgebung ist INT_MAX. Es gibt keine solche Sache wie ein

Sind Prototypen erforderlich für alle Funktionen in C89, C90 oder C99?

Anzahl der Antworten 6 Antworten
Wirklich Standard-konform sind, müssen alle Funktionen in C (außer main) haben einen Prototyp, auch wenn Sie nur nach Ihrer definition in der gleichen übersetzungseinheit? Die Frage Muss declare function Prototyp in C? war einst vorgeschlagen, als ein

Literal string-Initialisierung für ein Zeichen-array

Anzahl der Antworten 4 Antworten
In der folgenden Bestimmungen für den Fall, wenn array-Zerfälle zu Zeiger: Einen lvalue [siehe Frage 2.5] vom Typ array von T, die in einem Ausdruck zerfällt (mit drei Ausnahmen) zu einem Zeiger auf sein erstes element; die

Wie man in den C99-Modus in Codeblocks10.05?

Anzahl der Antworten 1 Antworten
Ich realisierte, dass ich nicht einmal im C99-Modus nach Erhalt der compile-Fehler 'for' loop initial Erklärungen dürfen nur im C99-Modus Fand ich einige Ratschläge, wie man C99 über eine schnelle Suche, die hat mir gesagt, zu gehen,

Variadic Makros mit 0 Argumenten in C99

Anzahl der Antworten 1 Antworten
Ich habe einige debugging-code, der wie folgt aussieht: #define STRINGIFY(x) #x #define TOSTRING(x) STRINGIFY(x) #define AT __FILE__ ":" TOSTRING(__LINE__) void __my_error(const char*loc, const char *fmt, ...); #define my_error(fmt, ...) __my_error(AT, fmt, ##__VA_ARGS__) Den letzten makro verwendet wird,

Was bedeutet GCC __attribute__((mode(XX)) eigentlich tun?

Anzahl der Antworten 2 Antworten
Entstand diese aus einer Frage, die bereits heute auf das Thema der bignum-Bibliotheken und gcc-spezifische hacks, um die C-Sprache. Speziell diese beiden Erklärungen wurden verwendet: typedef unsigned int dword_t __attribute__((mode(DI))); Auf 32-bit Systemen und typedef unsigned int

NULL-Pointer-Funktion

Anzahl der Antworten 3 Antworten
Was ist das Verhalten von aufrufen einer Funktion null-pointer? void (*pFunc)(void) = NULL; pFunc(); Warum ist es ratsam zu initialisieren, noch ungenutzte Funktion Zeiger auf NULL? Genau wie ein normales Zeiger, ich glaube, Sie würde sich ein

Konvertieren eines int in char, mit printf

Anzahl der Antworten 2 Antworten
Ich Frage mich nur, ob folgende ist der richtige Weg zu int konvertieren, um es anzuzeigen als einen char #include <stdio.h> int main() { int x = 500; printf("%hhd\n", x); } Auch, von oben Frage ich mich,

Eine Warnung erhalten, wenn eine variable ist beschattet

Anzahl der Antworten 2 Antworten
Ich wollen in der Regel vermeiden Sie code wie diesen: #include <stdio.h> int main(int argc, char *argv){ int n = 3; for (int n = 1; n <= 10; n++){ printf("%d\n", n); } printf("%d\n", n); } Wie

Variable Sized Arrays vs calloc in C

Anzahl der Antworten 5 Antworten
Auf die Diskussion des dynamischen Arbeitsspeichers, hier: "Einführung in C Pointer und Dynamischer Speicher" Der Autor fest: Einen Speicherblock wie diese können effektiv verwendet werden, als eine mehr flexible array. Dieser Ansatz ist tatsächlich viel häufiger in

Wie man GCC sagen, dass ein Zeiger-argument ist immer double-word-aligned?

Anzahl der Antworten 6 Antworten
In meinem Programm habe ich eine Funktion, welche eine einfache addition c[0:15] = a[0:15] + b[0:15]. Der Funktionsprototyp lautet: void vecadd(float * restrict a, float * restrict b, float * restrict c); Auf unsere 32-bit-embedded-Architektur gibt es

Wie zu "simulieren" C99 in Visual Studio für Variablen-Deklaration

Anzahl der Antworten 3 Antworten
Ich bin mit Visual Studio 2012 zu entwickeln, die einfache Win32-C-Programme. Ich weiß, dass der VS-compiler unterstützt nur C89, aber ich würde gerne wissen, ob es gibt einen Weg, um diese Einschränkung zu umgehen. Insbesondere würde ich

C89 vs c99 der GCC-compiler

Anzahl der Antworten 3 Antworten
Ist es ein Unterschied, wenn ich kompilieren Sie das folgende Programm mit c89 vs c99? Ich erhalte die gleiche Ausgabe. Es ist wirklich ein Unterschied zwischen den beiden? #include <stdio.h> int main () { //Print string to

Beste Weg, um shift-array in C?

Anzahl der Antworten 4 Antworten
Ich habe ein array, hat eine Geschichte von Werten, und beim hinzufügen eines neuen Wertes, muss ich mit shift alle bisherigen Werte eine position nach Links, zu verlieren, der älteste Wert und machen Platz für die nächsten.

GCC mit -std=c99 beschwert sich darüber, nicht zu wissen, struct timespec

Anzahl der Antworten 2 Antworten
Wenn ich versuche zu kompilieren unter Linux mit gcc -std=c99, der compiler beschwert sich darüber, nicht zu wissen struct timespec. Aber wenn ich kompilieren Sie diese ohne -std=c99 funktioniert alles einwandfrei. #include <time.h> int main(void) { struct

Zuweisung von char-array mit malloc

Anzahl der Antworten 3 Antworten
Hi, vor kurzem sah ich eine Menge von Codes, die auf online(auch SO;) wie: char *p = malloc( sizeof(char) * ( len + 1 ) ); Warum sizeof(char) ? Es ist nicht nötig, nicht wahr? Oder Ist

Gibt es einen Grund, nicht zu verwenden, die Feste Breite integer-Typen (z.B. uint8_t)?

Anzahl der Antworten 5 Antworten
Vorausgesetzt, Sie verwenden einen compiler, der C99 unterstützt (oder auch nur stdint.h), gibt es einen Grund, nicht zu verwenden, die Feste Breite integer-Typen wie uint8_t? Einen Grund, dass ich bewusst bin, ist, dass es macht viel mehr

habe Kompilierungs-Fehler beim verwenden clock_gettime in c99

Anzahl der Antworten 1 Antworten
wenn ich clock_gettime in meinem code-snippet, und kompilieren mit dem flag -std=c99, bekam ich eine Fehlermeldung wie diese: warning: implicit declaration of function 'clock_gettime' error: 'CLOCK_REALTIME' undeclared (first use in this function) und ich habe die Datei

Der eindimensionale Zugriff auf ein mehrdimensionales array: ist es gut definiert Verhalten?

Anzahl der Antworten 4 Antworten
Ich vorstellen, wir sind uns alle einig, dass es als idiomatischer C, um den Zugriff auf eine multidimensionale Arrays dereferenzieren eines (evtl offset) Zeiger auf erstes element in a one-dimensional Mode, z.B.: void clearBottomRightElement(int *array, int M,

c99 - Fehler: unknown type name 'pid_t'

Anzahl der Antworten 2 Antworten
Ich bin mit Linux (3.13.0-24-generic #46-Ubuntu), und schrieb ein einfaches C-Programm über pid. Beim kompilieren, bekam ich ein Problem: gcc pid_test.c ist dies in Ordnung. gcc -std=c99 pid_test.c oder gcc -std=c11 pid_test.c gibt Fehler: Fehler: unknown type

Die übergabe eines mehrdimensionalen variable Länge array an eine Funktion

Anzahl der Antworten 2 Antworten
Es gibt Unmengen von ähnlichen Fragen, aber noch konnte ich nicht finden, jede Antwort, die relevant für die Funktion von variabler Länge arrays in C99/C11. Wie pass mehrdimensionale variable Länge array, um eine Funktion in C99/C11? Beispiel:

Zugriff auf inaktiv union-Mitglied und Undefiniertes Verhalten?

Anzahl der Antworten 5 Antworten
War ich unter dem Eindruck, dass der Zugriff auf eine union Mitglied anderer als der Letzte gesetzt wird UB, aber ich kann nicht scheinen zu finden, eine solide Referenz (eine andere als Antworten zu fordern, es ist

Vermeiden Sie Kollisionen mit Namen, die mit enum in C (C99)

Anzahl der Antworten 1 Antworten
enum Elemente " Namen sind anfällig für überschneidungen/kollidieren mit den beiden anderen enum-Elemente-Namen, Variablen-Namen, etc... enum Fruit { apple, orange }; typedef enum Fruit Fruit; enum Color { red, orange //<-- ERROR }; typedef enum Color Color;

Set array-Größe zur Laufzeit

Anzahl der Antworten 5 Antworten
Ich weiß, wie man ein Struktur-array innerhalb einer Funktion: typedef struct item { int test; }; void func (void) { int arraysize = 5; item ar[arraysize]; } Aber wie kann ich die gleichen, wenn das array ist

C - Überprüfen Sie den verfügbaren ram?

Anzahl der Antworten 4 Antworten
Ich weiß, wie Sie malloc() und free() Speicher zuweisen, aber gibt es auch eine standard-C-Funktion, um zu überprüfen, wie viel Speicher übrig ist, so kann ich rufen, die in regelmäßigen Abständen, um sicherzustellen, dass mein code hat

Wie beseitigen Sie die "discard qualifier" Warnung?

Anzahl der Antworten 2 Antworten
GCC verwenden und C99-Modus habe ich eine Funktion deklariert als: void func(float *X); Wenn ich die Funktion aufrufen, ich benutze einen flüchtigen array Y: volatile float Y[2]; int main() { func(Y); return 0; } Beim kompilieren (mit

"implizite Deklaration der Funktion "fcloseall' ist ungültig in C99" beim kompilieren zu gnu99

Anzahl der Antworten 2 Antworten
Betrachten Sie den folgenden C-code: #include <stdio.h> #include <stdlib.h> void fatal(const char* message){ /* Prints a message and terminates the program. Closes all open i/o streams before exiting. */ printf("%s\n", message); fcloseall(); exit(EXIT_FAILURE); } Ich bin mit

Split-C-string in-Token mit sscanf

Anzahl der Antworten 3 Antworten
Ich versuche, split einen string in tokens auf, sondern eher rekursiv. Ich bin versucht, zu analysieren: "content=0&website=Google" so, ich habe einen Weg, um die Parameter und Werte. Wenn ich versuche strtok ich am Ende zerstören Sie die

32-bit-Windows und die 2 GB Grenze für die Dateigröße (C mit fseek und ftell)

Anzahl der Antworten 4 Antworten
Ich bin versucht, port einen small-data-Analyse-Programm aus einer 64-bit-UNIX zu einem 32-bit-Windows-XP-system (nicht Fragen :)). Aber nun habe ich Probleme mit der 2 GB Grenze für die Dateigröße (lange nicht 64 bit auf dieser Plattform). Habe ich

Dynamische array-Zuweisung auf stack in C

Anzahl der Antworten 3 Antworten
Ich habe gerade ein experiment gestern, und finde etwas verwirrend: #include <stdio.h> int main() { int j; scanf("%d",&j); const int i = j; int arr[i]; return 0; } Die Anzahl j ist zu Lesen von der Tastatur

Konvertieren von unsigned long long, double in C

Anzahl der Antworten 2 Antworten
Erkenne ich diese Frage sein könnte-Prozessor abhängig, aber hoffentlich kann jemand mich in die richtige Richtung. Für das Leben von mir, ich kann nicht herausfinden, wie die Umwandlung einer unsigned long long int repräsentiert Nanosekunden, um eine

__inline-Funktionen von vs normale Funktionen in C

Anzahl der Antworten 5 Antworten
Studiere ich die Makros und fand viele Quellen und Fragen zum Unterschied zwischen Makros und inline-Funktionen. Aber es gibt nichts, was konkret spezifiziert und differenziert vor - &Nachteile der inline-vs normalen Funktionen. Aber was ist, wenn ich

C -, lese-mehrere zahlen von single-input line (scanf?)

Anzahl der Antworten 5 Antworten
Ich geschrieben habe eine Anwendung in C, die erwartet zwei Zeilen am Eingang. Erste Eingabe wird erzählt, wie groß ein array von int wird und die zweite Eingabe enthält Werte, getrennt durch Leerzeichen. Zum Beispiel, die folgenden

vergleichen Sie zwei gleiche Arrays in c, aber die Ausgabe zeigt ungleiche

Anzahl der Antworten 7 Antworten
Nach einer langen Pause,bin ich zurück zu C, aber immer verwirrt, noch auf einige einfache Fragen. So ist man hier. Ist hier der einfache code : #include<stdio.h> int main() { char str1="hello"; char str2="hello"; if(str1==str2) printf("equal"); else

Die Berechnung und Verwendung maximale Wert von uint32_t

Anzahl der Antworten 4 Antworten
Ich weiß, dass UINT32_MAX existiert, aber ich habe nicht in der Lage, es zu benutzen. Ich habe versucht printf("%d\n", UINT32_MAX); und es ausgedruckt -1. Mit %ld statt %d stellte mich mit dem Fehler, dass UINT32_MAX ist vom

Warum ist der fgets-Funktion veraltet?

Anzahl der Antworten 2 Antworten
Vom Der GNU-C-Programmierung Tutorial: Den fgets ("file get string") - Funktion ist ähnlich wie die bekommt Funktion. Diese Funktion ist veraltet -- das bedeutet, dass es veraltet ist und es ist dringend empfohlen, Sie verwenden Sie es

Besten vergleichen Sie zwei int-arrays die gleiche Länge?

Anzahl der Antworten 4 Antworten
was ist die beste Methode zum vergleichen von int-arrays b und c mit a: int a = {0,1,0,0,1}; int b = {0,1,0,0,1}; int c = {1,1,0,0,1}; b und c sind nur Beispiele, übernehmen Sie können eine beliebige

C: cast von int auf size_t

Anzahl der Antworten 3 Antworten
Was ist der richtige Weg, um zu konvertieren/umwandeln eines int zu einem size_t im C99-auf 32-bit und 64-bit-linux-Plattformen? Beispiel: int hash(void * key) { //... } int main (int argc, char * argv) { size_t size =

Was ist die header-Datei für die uintptr_t geben Sie in der modernen C++?

Anzahl der Antworten 5 Antworten
Fand ich, dass in C99 sollten Sie #include <stdint.h> und das scheint zu funktionieren mit meinem C++03 gcc-compiler auch, aber ist das der richtige header für moderne C++, ist es portabel? -1: für die, nicht Mühe zu

Wenn __builtin_memcpy wird durch libc - memcpy

Anzahl der Antworten 1 Antworten
Gibt es eine version des C99/posix memcpy Funktion im GCC: __builtin_memcpy. Manchmal kann es ersetzt werden durch GCC-inline-version von memcpy und in anderen Fällen ist es ersetzt durch Aufruf der libc ist memcpy. E. g. es wurde

Definieren Sie eine Funktion vor main?

Anzahl der Antworten 10 Antworten
Sind Deklarationen/Prototypen notwendig, C99 ? Ich bin derzeit auf der Definition meiner Funktionen in eine header-Datei und #include-ING es in der Haupt-Datei. Ist das OK in C99 ? Warum haben die meisten Programmierer deklarieren/der Prototyp der Funktion

Unterschied zwischen c99 und c11

Anzahl der Antworten 2 Antworten
Lerne ich c, derzeit. Das Buch Ich lese, ist C99 basiert. Ich will update my knowledge, C11 nach Beendigung dieses Buch, oder die Ressource ändern, wenn es einen großen Unterschied. Also, was ich Fragen, ist für eine

Wie aktivieren c99-Modus, in dem gcc mit terminal

Anzahl der Antworten 3 Antworten
Möchte ich aktiviere c99-Modus in den gcc-compiler zu lese ich in anderen post in diesem forum, dass -std sollte gleich -std=c99 aber ich weiß nicht, wie Sie auf diesen Wert mithilfe des Befehls " Linie, so bitte

GCC-Optionen zum erzwingen von Ansi-C-standard-check?

Anzahl der Antworten 3 Antworten
Was gcc Optionen sollte ich verwenden, um zu erzwingen, ANSI-C (C99) Warnungen/Fehler? gcc (GCC) 3.4.2 (mingw-special) Bin ich mit: gcc -pedantic-ansi -std=c99 ist das richtig? ANSI veröffentlicht die ursprüngliche C-standard von 1989. ISO veröffentlicht seine version der

Unterstützt Microsoft visual studio 2010 unterstützt c99?

Anzahl der Antworten 3 Antworten
Ich würde gerne wissen, ob Microsoft Visual Studio 2010 unterstützt C99. Wenn nicht, wie kann ich die standard-Typen wie intptr_t und uintptr_t? InformationsquelleAutor der Frage thetna | 2011-07-14