<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.jegatron.se/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="https://wiki.jegatron.se/feed.php">
        <title>Jegatron - c_language</title>
        <description></description>
        <link>https://wiki.jegatron.se/</link>
        <image rdf:resource="https://wiki.jegatron.se/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-07-03T19:56:52+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.jegatron.se/doku.php?id=c_language:c_style&amp;rev=1662942654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.jegatron.se/doku.php?id=c_language:overview&amp;rev=1662942654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.jegatron.se/doku.php?id=c_language:pitfalls&amp;rev=1662942654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.jegatron.se/doku.php?id=c_language:standard_highlights&amp;rev=1662942654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.jegatron.se/doku.php?id=c_language:state_machines&amp;rev=1662942654&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.jegatron.se/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Jegatron</title>
        <link>https://wiki.jegatron.se/</link>
        <url>https://wiki.jegatron.se/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.jegatron.se/doku.php?id=c_language:c_style&amp;rev=1662942654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T00:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c_style</title>
        <link>https://wiki.jegatron.se/doku.php?id=c_language:c_style&amp;rev=1662942654&amp;do=diff</link>
        <description>Misc

The Linux kernel coding style

Google C++ coding style

NASA C style guide

POSIX style guide?

C and C++ Style Guides -- Archived version of a collection of style guides

libevent -- Available API to maybe seek inspiration from. Uses callbacks and stuff.

Embedded C Coding Standard -- By Michael Barr

Indian Hill C Style Manual

Things to consider

Naming


int variable, descriptive_variable_name;

typedef int own_datatypes_t;

void function_names(void);

void mylib_library_function_with_…</description>
    </item>
    <item rdf:about="https://wiki.jegatron.se/doku.php?id=c_language:overview&amp;rev=1662942654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T00:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>overview</title>
        <link>https://wiki.jegatron.se/doku.php?id=c_language:overview&amp;rev=1662942654&amp;do=diff</link>
        <description>C Language

Things i should read up on

	*  Operator precedence order
	*  Evaluation order
	*  C FAQ
	*  C++ ABI -- Not exclusively for C, but still relevant
	*  Statements and Declarations in Expressions
	*  What inline in combination with export and static actually does SO1, SO2, CPP reference
	*  &lt;http://www.catb.org/esr/structure-packing/&gt; -- The lost art of structure packing

Underhanded C Contest

uguu -- Anime ascii art

IOCCC</description>
    </item>
    <item rdf:about="https://wiki.jegatron.se/doku.php?id=c_language:pitfalls&amp;rev=1662942654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T00:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pitfalls</title>
        <link>https://wiki.jegatron.se/doku.php?id=c_language:pitfalls&amp;rev=1662942654&amp;do=diff</link>
        <description>Integer promotion

Type conversion - unsigned to signed int/char

Usual arithmetic conversions</description>
    </item>
    <item rdf:about="https://wiki.jegatron.se/doku.php?id=c_language:standard_highlights&amp;rev=1662942654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T00:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>standard_highlights</title>
        <link>https://wiki.jegatron.se/doku.php?id=c_language:standard_highlights&amp;rev=1662942654&amp;do=diff</link>
        <description>C99 Committee Draft 2007

C11 Committee Draft 2010

C17 bugfix highlights

Coding guidelines -- Probably good place to find important parts of the standard.</description>
    </item>
    <item rdf:about="https://wiki.jegatron.se/doku.php?id=c_language:state_machines&amp;rev=1662942654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-12T00:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>state_machines</title>
        <link>https://wiki.jegatron.se/doku.php?id=c_language:state_machines&amp;rev=1662942654&amp;do=diff</link>
        <description>Brainstorm

Three different approaches:

	*  State is kept as a number in a variable. E.g. from a enum. And handled by switch-case
	*  State is kept as pointer to struct with function pointers
	*  State is kept as a index pointing to a state-transition table</description>
    </item>
</rdf:RDF>
