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).
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
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");
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
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
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
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);
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:
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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.
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
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,
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
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
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,
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
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
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;
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?
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
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,