<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://update.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://update.proggen.org/feed.php">
        <title>proggen.org c:attr</title>
        <description></description>
        <link>http://update.proggen.org/</link>
        <image rdf:resource="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico" />
       <dc:date>2026-04-19T13:51:41+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:auto&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:const&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:register&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:signed&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:start&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:static&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:unsigned&amp;rev=1663868367"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=c:attr:volatile&amp;rev=1663868367"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico">
        <title>proggen.org</title>
        <link>http://update.proggen.org/</link>
        <url>http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico</url>
    </image>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:auto&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:auto</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:auto&amp;rev=1663868367</link>
        <description>auto

Das Attribut 'auto' wird praktisch nie verwendet. Das liegt wohl daran, dass jede Variable bei der man nichts anderes angibt als 'auto' deklariert wird. Dieses Attribut sagt dem Compiler, dass er die Variable ablegen und verwalten kann wie er will, was auch das Standardverhalten von Variablen ist.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:const&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:const</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:const&amp;rev=1663868367</link>
        <description>const

Mit dem Attribut 'const' kann man Variablen als konstant deklarieren. Das ist vor allem in C++ aus Gründen der Typsicherheit der Definitionen von Konstanten über den Präprozessor mit #define vorzuziehen. Eine Konstante wird einmal initialisiert und kann dann während des gesamten Programmablaufs nicht mehr geändert werden.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:register&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:register</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:register&amp;rev=1663868367</link>
        <description>register

Das Attribut 'register' vor einer Variablen sagt dem Compiler bzw. Prozessor, dass er diese Variable so lange wie möglich in einem Register behaltet und somit schnell wieder ausgelesen werden kann da sie nicht aus dem langsameren Cache oder noch langsameren Arbeitsspeicher nachgeladen werden muss.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:signed&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:signed</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:signed&amp;rev=1663868367</link>
        <description>signed

unsigned ist ein Attribut zu integeren Datentypen. signed bedeutet 'mit Vorzeichen'. 

Integervariablen werden ohne Angabe automatisch als signed deklariert. Die folgenden beiden also gleichbedeutend:


int a;
signed int a;


signed wird man sich also in der Regel sparen. Allerdings gibt es vereinzelt Compiler, bei denen der Datentyp</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:start&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:start</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:start&amp;rev=1663868367</link>
        <description>Attribute

Mit Attributen kann man die Lebensdauer, die Sichtbarkeit und andere Eigenschaften von Variablen beeinflussen.

Vorzeichendefinition

	*  unsigned: Vorzeichenlose Integer-Variable
	*  signed: Vorzeichenbehaftete Integer-Variable

Speicherklassen-Spezifizierer (Storage Class Specifier)</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:static&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:static</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:static&amp;rev=1663868367</link>
        <description>static

In diesem Artikel geht es um das Attribut static in Verbindung mit Variablendeklarationen. Es geht hier nicht um das Schlüsselwort static in Verbindung mit Funktionsdeklarationen, denn dort hat es eine abweichende Bedeutung.

Wirkung von static</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:unsigned&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:unsigned</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:unsigned&amp;rev=1663868367</link>
        <description>unsigned

unsigned ist ein Attribut zu integeren Datentypen. unsigned bedeutet 'ohne Vorzeichen'. Integer werden normalerweise signed gespeichert, also mit Vorzeichen. Das Vorzeichen belegt ein Bit, mit unsigned wird das Integer vorzeichenlos. Damit dann der Bereich, der sonst für negative Zahlen genutzt wird dem positiven Bereich hinzugefügt werden.
Damit verdoppelt sich der Bereich der positiven Zahlen und es können größere Zahlen gespeichert werden.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=c:attr:volatile&amp;rev=1663868367">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c:attr:volatile</title>
        <link>http://update.proggen.org/doku.php?id=c:attr:volatile&amp;rev=1663868367</link>
        <description>volatile

'volatile' ist eine Typ-Attribut und wir im Zusammenhang mit Variablen verwendet.

Syntax

Man schreibt es in einer Variablendeklaration vor den Datentyp, also zum Beispiel so:

volatile int x;

Verwendung

Es dient dazu dem Compiler zu sagen, dass er keine Optimierung beim Zugriff und der Speicherposition machen darf. Sonst könnte der Compiler die Variable als Optimierung an eine andere Speicheradresse verschieben oder wenn sich der Wert im Programmfluss eigentlich nicht ändern kann a…</description>
    </item>
</rdf:RDF>
