Difference between revisions of "C programming notes"

From Wiki at Neela Nurseries
Jump to: navigation, search
m
m (Add section regarding serial port programming.)
Line 1: Line 1:
  
  
Really good interesting article by Simon Tatham on co-routines and a couple ways of implementing them in C language;  accessible good style of writing:
+
== [[#top|^]] Overview ==
  
 +
<!-- comentario -->
 +
 +
== [[#top|^]] Serial Port Use in C ==
 +
 +
*  https://tldp.org/HOWTO/Serial-Programming-HOWTO/
 +
*  https://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html
 +
 +
<!-- comentario -->
 +
 +
Interesting article by Simon Tatham on co-routines and a couple ways of implementing them in C language;  accessible good style of writing:
  
 
*  https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
 
*  https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
 
  
 
Quote from the article:
 
Quote from the article:
  
<ul>
+
<ul><! -- not intended use for ul tag -->
 
<i>
 
<i>
 
"Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." &nbsp;- Simon Tatham
 
"Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." &nbsp;- Simon Tatham

Revision as of 19:23, 8 September 2022


^ Overview

^ Serial Port Use in C


Interesting article by Simon Tatham on co-routines and a couple ways of implementing them in C language; accessible good style of writing:

Quote from the article:

    <! -- not intended use for ul tag --> "Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten."  - Simon Tatham


Floating point convert and notes on-line, Javascript converter:


^ C Pointers and dereference syntax

This section the beginning of references, links and personal notes on some of the most difficult and important C language constructs, often used in schedulers and RTOS implementations:

Arrays of strings and arrays of pointers to strings:


^ Simple C examples

Program 1 - use of C comma operator, a binary operator:

#include <stdio.h>
#include <stdlib.h>



// Compile with:
//
//    $ gcc -Wall main.c
//
// As of 2022-06-09 Builds with 'gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0'




int main(int argc, char *argv[])
{
    int z = 3;

    int y[(z++, (z + 1))];


    y[0] = 1;

    if ( z == y[0] ) { } 

#define SIZE_OF_160_BYTES (160)
    char lbuf[SIZE_OF_160_BYTES] = { 0 };
    snprintf(lbuf, SIZE_OF_160_BYTES, "2022-06-09 main.c test of C comma operator\narray y[] has size of %lu\n",
      sizeof(y));
    printf("%s", lbuf);


    return 0;
}



^ References