Umfang von typedefs

8

Ich bin nicht am Computer, kann das im Moment nicht testen, habe aber einen Code, den ich überprüfen kann. Ich bin leider immer noch etwas in einem C ++ - Gedankenframe.

Also, wenn ein typedef in einer C-Quelldatei deklariert ist, welchen Umfang hat es? Mir ist bewusst, dass Funktionen und Variablen, die nur innerhalb derselben Übersetzungseinheit verfügbar sind, statisch gemacht werden müssen und ich frage mich, ob das für typedefs dasselbe ist.

    
Firedragon 25.04.2012, 08:37
quelle

3 Antworten

22

Typedefs sind Deklarationen. Wenn Sie eine typedef in einer C-Datei haben, wird dies keiner anderen C-Datei bekannt sein, da sie unabhängig voneinander kompiliert werden.

Für einen Typdef in einer Kopfzeile wird es natürlich von allen C-Dateien sichtbar sein, die es enthalten.

    
unwind 25.04.2012, 08:40
quelle
5

typedef hat denselben Gültigkeitsbereich wie reguläre Variablen in C / C ++

    
mihai 25.04.2012 08:40
quelle
1

Ich weiß nicht, was die Bedeutung dieses komplexen Satzes ist, aber so definiert der C-Standard den Umfang von typedefs:

  

Als Sonderfall wird ein Typname (der keine Deklaration eines Bezeichners ist) berücksichtigt   habe einen Bereich, der direkt nach dem Ort innerhalb des Typnamens beginnt, wo der weggelassen wurde   Bezeichner würde erscheinen, wenn er nicht weggelassen wird.

P.S. Jemand bitte erklären.

    
bubble 23.10.2012 16:18
quelle

Tags und Links