Tag: c89

Dieser tag ist für Fragen in Bezug auf den internationalen standard ISO 9899:1990, auch bekannt als „C89“, „C90“ oder „ANSI-C“, mit änderungen und technische Berichtigungen (im Gegensatz zu K&R-C, C99, C11 oder später C-standard-Revisionen).

Eine gute C-äquivalent von STL-Vektor?

Anzahl der Antworten 6 Antworten
Habe ich bemerkt, dass an mehreren Orten in unserem code-Basis verwenden wir die dynamisch wachsende arrays, d.h. eine Basis-array gekoppelt mit einem element-Zähler und ein "max-Elemente" - Wert. Was ich will zu tun ist, ersetzen Sie diese

Warum FILE-pointer deklariert werden müssen aus main() in Visual Studio 2010?

Anzahl der Antworten 1 Antworten
Ich versuche zu kompilieren eine einfache ansi-C-Beispiel in Visual Studio 2010 und stieß mit diesem Fehler kompilieren: Fehler: patchC.c(5): error C2275: 'DATEI' : unzulässige Verwendung dieses Typs als Ausdruck Program1: #include <stdio.h> int main(void) { printf("Hello world!\n");

Ist das "struct " hack" technisch nicht definiertes Verhalten?

Anzahl der Antworten 8 Antworten
Was ich bin das Fragen ist die bekannte "Letzte member einer struct-variable Länge" trick. Es geht so etwas wie dieses: struct T { int len; char s[1]; }; struct T *p = malloc(sizeof(struct T) + 100); p->len

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

klar/truncate Datei, die in C, wenn es bereits offen in "r+" - Modus

Anzahl der Antworten 2 Antworten
Mein code momentan so aussieht (in diesen Schritten aufgeteilt in mehrere Funktionen): /* open file */ FILE *file = fopen(filename, "r+"); if(!file) { /* read the file */ /* modify the data */ /* truncate file (how

gemischte Deklarationen und codes

Anzahl der Antworten 4 Antworten
Wenn ich die Funktion kompilieren mit "gcc -o dene -Wall -ansi -pedantic-errors denieren.c" der gcc gibt keine Fehler.(kann man sich eine Linie, die beginnt mit char ....,in der if-Schleife) static void remove_negation(char *s,char *s1) { char **cmainp=malloc(sizeof(char*)*1);

Wie bekomme ich Fehlermeldung für errno-Wert (C-Sprache)?

Anzahl der Antworten 2 Antworten
Wie bekomme ich Fehlermeldung für errno-Wert (C-Sprache)? Ich kann zum Beispiel schreiben, wie die Datei (errno_messages.h): #include <errno.h> char* get_errno_message(void){ switch (errno) { case 0: return ""; break; case EPERM: return "Operation not permitted"; break; case ENOENT:

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

Drucken hex-Wert eines char* array in C gibt ungerade Werte für binären Eingang

Anzahl der Antworten 2 Antworten
Hier ein seltsames problem, dass schon guckten mich für ein bisschen. Das Programm ist geschrieben in C89, und es liest eine Datei in ein char* array von 16 bytes am Stück (mit fread und einer Größe von

strtol mit errno

Anzahl der Antworten 4 Antworten
Ich habe den folgenden code: #include <stdlib.h> #include <stdio.h> #include <errno.h> void main(void) { int data; char * tmp; data = strtol("23ef23",&tmp,10); printf("%d",errno); getchar(); } Ausgang 0 ... warum? ich bin mit visual studio 2010 C++ code

Die Verwendung der scanf-Funktion in der while-Schleife

Anzahl der Antworten 3 Antworten
Ich bin versucht zu formatieren, Leerzeichen getrennte Benutzer-Eingaben für eine Programmierung Zuordnung. Im wesentlichen die Eingabe besteht aus einer beliebigen Anzahl von Ausdrücken L integer integer integer integer und C integer integer integer. Beispiel: L 1 1

Die Implementierung einer FIFO-Warteschlange in C

Anzahl der Antworten 4 Antworten
Für eine eingebettete Anwendung, die ich bin versucht zu implementieren (first-in, first-out (FIFO) Warteschlange von Strukturen mit ANSI-C. Der einfachste Weg, dies zu tun, scheint zu sein, durch die Implementierung einer verketteten Liste, so dass jede Struktur

Cast char zu char-Arrays oder char-array char?

Anzahl der Antworten 8 Antworten
Also sagen wir mal ich habe einen char, und ich will strcat() in einen char-array in eine einzige Zeile code. Für [eine nicht-praktische] Beispiel: strcat("ljsdflusdfg",getchar()); Bzw. wollte ich tun das Gegenteil, was wäre die entsprechende Funktion concat

Ist die %zu Planer benötigt für printf?

Anzahl der Antworten 2 Antworten
Sind wir mit C89 auf einer embedded-Plattform. Ich habe versucht, drucken Sie eine size_t, aber es hat nicht funktioniert: #include <stdio.h> int main(void) { size_t n = 123; printf("%zu\n",n); return 0; } Statt 123 bekam ich zu.

Wie zu nutzen machen und kompilieren Sie wie C99?

Anzahl der Antworten 3 Antworten
Ich versuche zu kompilieren eines linux-kernel-Modul ein Makefile verwenden: obj-m += main.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Gibt mir: main.c:54: warning: ISO C90 forbids mixed declarations

Warnung: diese decimal-Konstante ohne Vorzeichen ist nur in ISO-C90

Anzahl der Antworten 3 Antworten
Stück code : long rangeVar = 0; rangeVar = atol(p_value); if (rangeVar >= -2147483648 && rangeVar <= 2147483647) Beim kompilieren bekomme ich: Achtung: diese decimal-Konstante ohne Vorzeichen ist nur in ISO-C90 Vielen Dank im Voraus InformationsquelleAutor der

C überprüfen Sie, ob Datei vorhanden ist

Anzahl der Antworten 5 Antworten
In einem Projekt zu tun haben, ich im C89-standard habe ich, um zu überprüfen, ob eine Datei existiert. Wie mache ich das? Ich daran gedacht, mit FILE *file; if ((file = fopen(fname, "r")) == NULL) { printf("file

Aktivieren VLAs (variable length arrays) in MS Visual C++?

Anzahl der Antworten 3 Antworten
Wie kann ich Sie aktivieren die Verwendung von VLAs, variable length arrays in C99 definiert, in MS Visual C++ oder ist das nicht möglich? Ja, ich weiß, dass der C++ - standard basiert auf C89 und dass

Casting ein int-Zeiger auf einen char ptr und Umgekehrt

Anzahl der Antworten 3 Antworten
Das problem ist einfach. So wie ich das verstehe, GCC unterhält, die chars werden byte-ausgerichtet und ints 4-byte-ausgerichtet in einer 32-bit-Umgebung. Ich bin mir auch bewusst C99-standard 6.3.2.3, die sagt, dass das casting zwischen falsch-Zeiger-Typen führt zu

Was ist der Unterschied zwischen C, C99 ANSI-C und GNU C?

Anzahl der Antworten 5 Antworten
Habe ich begonnen, Programmierung Praxis auf codechef und wurden verwirrt durch die Unterschied zwischen C und C99. Was bedeutet C? Ist es C89? Überprüfen Sie die Sprachen, die an der Unterseite der diese senden. Es enthält sowohl

Wo finde ich die C89 / C90-Standards im PDF-Format?

Anzahl der Antworten 3 Antworten
Ich bin auf der Suche nach einer kostenlosen version kopieren der C89/C90-standardaber ich kann nicht finden es überall! Warum ist so schwer zu finden? C99 und C11-standards sind sehr leicht zu erhalten eine Kopie des über Internet.

Warum sollten Sie strncpy anstelle von strcpy verwenden?

Anzahl der Antworten 10 Antworten
Edit: ich habe die Quelle für das Beispiel. Stieß ich auf dieses Beispiel: char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This

Verwenden von M_PI mit C89-Standard

Anzahl der Antworten 4 Antworten
Bin ich mit C und zu versuchen, um Zugriff auf die Konstanten M_PI (3.14159...). Ich habe importiert, die Mathematik.h header-Datei, aber die Konstante M_PI wurde noch nicht definiert. Durch einige Suche auf StackOverflow, die ich gefunden habe,

Wie finde ich den Standard meines aktuellen Compilers, wie zB C90 etc?

Anzahl der Antworten 6 Antworten
Ich arbeite auf einer Linux-Maschine. Gibt es irgendwelche system-Befehl, um die standard-gefolgt von der C-compiler verwende ich? InformationsquelleAutor der Frage Hemanth | 2011-02-14

Wie ist das Verhalten der Ganzzahldivision?

Anzahl der Antworten 5 Antworten
Beispielsweise int result; result = 125/100; oder result = 43/100; Wird das Ergebnis immer sein, den Boden der division? Was ist das Verhalten definiert? InformationsquelleAutor der Frage T.T.T. | 2010-08-30

Die Warnung "Diese Dezimalkonstante ist nicht vorzeichenlos in ISO C90" wird nicht gelöscht

Anzahl der Antworten 1 Antworten
Ich bin mit dem FNV hash als hashing-Algorithmus, der auf meine Hash-Tabelle Umsetzung, aber ich bin immer die Warnung in den Frage-Titel, die auf dieser Linie: unsigned hash = 2166136261; Ich verstehe nicht, warum dies geschieht, weil,

Was sind die Hauptunterschiede zwischen ANSI C und K & amp; R C?

Anzahl der Antworten 11 Antworten
Den Wikipedia-Artikel über ANSI C sagt: Eines der Ziele der ANSI-C-Normierung-Prozess war die Erstellung einer Obermenge von K&R-C (das erste veröffentlichte standard), die viele der inoffiziellen Funktionen nachträglich eingeführt. Allerdings, das standards Komitee auch einige neue features

Gibt es einen Grund, C anstelle von C ++ für die Embedded-Entwicklung zu verwenden?

Anzahl der Antworten 29 Antworten
Frage Habe ich zwei Compiler auf meiner hardware C++ und C89 Ich denken werde, mit C++ - Klassen, aber ohne Polymorphismus (um zu vermeiden, vtables). Die wichtigsten Gründe, ich möchte in C++ sind: Bevorzuge ich die Verwendung

C: wandle double in float, wobei die Dezimalpunktpräzision erhalten bleibt

Anzahl der Antworten 3 Antworten
wollte ich zum konvertieren von double zu float in C, wollte sich aber zur Erhaltung der Dezimalpunkt genau wie möglich sein, ohne änderungen... zum Beispiel, sagen wir, ich habe double d = 0.1108; double dd = 639728.170000;

Variable Deklarationsplatzierung in C

Anzahl der Antworten 6 Antworten
Ich lange gedacht, dass in C werden alle Variablen werden musste, erklärt den Anfang der Funktion. Ich weiß, dass es in C99, die Regeln sind die gleichen wie in C++, aber was sind die Variablen-deklarations-placement-Regeln für C89/ANSI-C?

Warum kann gcc nicht die random () -Schnittstelle finden, wenn -std = c99 gesetzt ist?

Anzahl der Antworten 4 Antworten
Ich tun "#include <stdlib.h>" an der Spitze der Quelle. Beispiel-Zusammenstellung: /usr/bin/colorgcc -std=c99 -fgnu89-inline -g -Wall -I/usr/include -I./ -I../ -I../../ -I../../../ -I../../../../ -O3 -o f8 f8.c In file included from f8.c:7: ctype-cmp.c: In function ‘randomized’: ctype-cmp.c:48: warning: implicit

Typ zur Verwendung, um ein Byte in ANSI (C89 / 90) C darzustellen?

Anzahl der Antworten 6 Antworten
Gibt es eine Standard-Beschwerde-Methode stellen ein byte in ANSI (C89/90) C? Ich weiß, dass in den meisten Fällen eine char geschieht, um ein byte, aber mein Verständnis ist, dass dies nicht unbedingt der Fall zu sein. Auch,