HomeTOOLSEXAMPLESEXPLORE EMBEDDEDE CSERVICESECU SAMPLESRegistration
Embedded C programming Tutorial , Keil C ide , microsoftware.gr
Keil CRC and CAN BUS codes.
1. Shift led left
2.It's time for DAVE! <7/6/13>
3.Capture/Compare unit 6
4.ASC0-GPT1-MACROS
5.ASC0-FIFO-PEC
6.Analog converter
7.Memory manipulation routines
8. Recursion
9.Understanding interrupt priorities using CAPCOM2 module
10. POINTERS TO FUNCTION <4/7/13>,<4/28/13>
11.Memory models, memory types
12. The heap , part 1
13. The heap , part 2
14. The heap , part 3
15. Structure example
16. Nested structures, Array of structures.
17. Passing array of structures to function using pointers.<1/5/13>
18. Self Referential Structures
19. BITFIELDS
20. Linked list example
21. Circular linked list
22. Union example
23. Enumeration example
24. Watchdog timer example
25. Void pointer example <7/4/13>
26. The sieve of Eratosthenes
27. The stack
28. Union and bitfields as flags example. <6/23/13>
29. Look up table example. <8/11/13>
30. Seven segment display multiplexing -four digits with dot- example
31. LCD character display example - JHD162A
32. Hash table introduction example <8/27/14>
33. Array of Linked Lists example
34. Array of Linked lists-more functions included.
35. Hash table construction,searching and printing.
36. Fininte state machines- a first approach.
37. Finite state machines- two events example.
38. SPI port and an AT25128 serial eeprom hardware.
39. CRC CHECK
40. Definite Integral Calculator for Scientists, Engineers...
41 .Hamming distance of a CRC polynomial
42. Linux play starting.
43. Galois GF(2^4) Finite Field
44. Construct your own time triggered real time operating system.
45. CANBUS C CODE EXAMPLE.
33. Array of Linked Lists example

This article is an Array of Linked Lists example.

To build a Linked List we need a self referencing structure, here we use the:


 
  struct node {
char far data [6];
struct node far *next;
} s;

To build an Array of Linked Lists we declare an array of pointers that point to pointers pointing self referencing structures of node  type, writing :
struct node far ** [6]  


Next, we find free space at the Heap for each one of these  pointers doing memory allocation using malloc() function and at the end we insert nodes at each one of the six Linked Lists using AppendNode() function as in article no 20.  Realloc() function can't be used asking for a larger Heap space because realloc() copys the old space to the new larger Heap space and as a result we receive six Linked Lists that are copies.  

At the example we insert strings at the nodes of the six Linked Lists and as a new experience we use the Large memory model having Far pointers (4 bytes long). See  Keil page 
 CORRECTLY DECLARING VARIABLES WITH MEMORY SPACES
   

The C code                                The result

 

Home|TOOLS|EXAMPLES|EXPLORE EMBEDDEDE C|SERVICES|ECU SAMPLES|Registration