Section 1: 3. Why pointers? | (Preview) C Pointers: Secrets every Embedded Engineers MUST know!

preview_player
Показать описание


By the end of the course you would have learned:

- What pointers are, how to think about them and how to design with them.
- Different types of pointers - Datatype based, void and function (callbacks) pointers.
- Understand and use the syntax associated with pointers, the meaning of *, ., arraow and & in contex of the pointer.
- To reason about Multilevel pointers, Arrays and the difference between the two.
- To use Pointer Arithmetic and different ways to dereference pointers.
- To reasons about errors, fatalities resulting from the incorrect use of pointers.
- How opensource code uses pointers - Baremetal, FreeRTOS and Linux file operations.

The course takes a detailed hands-on approach, explaining the code, the theory and the underlying system details one should consider when dealing with pointers in C. It is full of graphics, annotation and hands on demo that the students can try along in GitHub Codespaces.

𝗖𝗼𝘂𝗿𝘀𝗲 𝗖𝗼𝗻𝘁𝗲𝗻𝘁𝘀:

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟭 : 𝗠𝗲𝗻𝘁𝗮𝗹 𝗠𝗼𝗱𝗲𝗹𝘀, 𝗠𝗼𝘁𝗶𝘃𝗮𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝗥𝗲𝗮𝘀𝗼𝗻𝗶𝗻𝗴 𝗮𝗯𝗼𝘂𝘁 𝗽𝗼𝗶𝗻𝘁𝗲𝗿𝘀 (𝟳 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟮𝟲𝗺𝗶𝗻)
- What to Imagine? 8:40
- Assignment - 1
- IMPORTANT: Checking results of the assignments Resources (2) | 2:11
- What is a pointer? 7:00
- Assignment - 2
- Why pointers? 8:25
- Assignment - 3

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟮 : 𝗣𝗼𝗶𝗻𝘁𝗲𝗿𝘀: 𝗦𝘆𝗻𝘁𝗮𝘅 𝗮𝗻𝗱 𝗖𝗼𝗱𝗲 (𝟳 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟮𝟱𝗺𝗶𝗻)
- Environment Setup 5:47
- Declaring/Defining a Pointer 9:51
- Assignment - 4
- Pointer Variable and Address 1:32
- * and & in relation to pointer variable 4:17
- Declaration and Definition 4:02
- Assignment - 5

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟯 : 𝗠𝘂𝗹𝘁𝗶-𝗹𝗲𝘃𝗲𝗹 𝗣𝗼𝗶𝗻𝘁𝗲𝗿𝘀 (𝟭𝟮 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟭𝗵𝗿𝘀 𝟮𝟯𝗺𝗶𝗻)
- Use of * and & Resources (1) | 23:38
- Assignment - 6
- Array and Pointers - Similarity and differences - Resources (1) | 20:42
- Assignment - 7
- Many *s and Many &s Resources (1) | 4:39
- Assignment - 8
- pointer to pointer Resources (1) | 13:05
- Assignment - 9
- Array of pointers Resources (1) | 13:05
- Assignment - 10
- Different types of Pointers 7:51
- Assignment - 11

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟰 : 𝗣𝗼𝗶𝗻𝘁𝗲𝗿 𝘁𝗼 𝗗𝗮𝘁𝗮 (𝟳 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟰𝟬𝗺𝗶𝗻)
- Pointing to data with a Datatype Resources (1) | 7:08
- Assignment - 12
- Pointer to a struct, *, . and arrow Resources (1) | 12:28
- Assignment - 13
- Pointer Arithmetic Resources (1) | 16:37
- Memory model and pointer to data 4:27
- Assignment - 14

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟱 : 𝗣𝗼𝗶𝗻𝘁𝗲𝗿 𝘁𝗼 𝗰𝗼𝗱𝗲 - 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗽𝗼𝗶𝗻𝘁𝗲𝗿𝘀 𝗼𝗿 𝗖𝗮𝗹𝗹𝗯𝗮𝗰𝗸 (𝟳 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟯𝟵𝗺𝗶𝗻)
- What is a function pointer? 11:57
- function pointers syntax Resources (1) | 10:46
- Assignment - 15
- typedef and function pointers Resources (1) | 9:44
- Assignment - 16
- Example - function pointer array Resources (1) | 6:44
- Assignment - 17

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟲 : 𝘃𝗼𝗶𝗱 𝗽𝗼𝗶𝗻𝘁𝗲𝗿 (𝟱 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟯𝟵𝗺𝗶𝗻)
- What is a void pointer? Resources (1) | 9:51
- Assignment - 18
- Whats is NULL and NULL pointer? Resources (1) | 14:34
- Assignment - 19
- void pointers in - Linux source code 14:44

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟳 : 𝗣𝗼𝗶𝗻𝘁𝗲𝗿𝘀, 𝗗𝘆𝗻𝗮𝗺𝗶𝗰 𝗮𝗹𝗹𝗼𝗰𝗮𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝗽𝗿𝗼𝗯𝗹𝗲𝗺𝘀 (𝟭𝟭 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟱𝟮𝗺𝗶𝗻)
- heap: malloc() and free() Resources (1) | 13:19
- Allocation failure Resources (1) | 13:44
- Assignment - 20
- Memory Leak 1:21
- Assignment - 21
- Dangling Pointer 6:00
- Assignment - 22
- Double free() 10:09
- Assignment - 23
- pointer manipulation and unowned memory 7:29
- Assignment - 24

𝗦𝗲𝗰𝘁𝗶𝗼𝗻 𝟴 : 𝗢𝗽𝗲𝗻 𝗦𝗼𝘂𝗿𝗰𝗲 𝗰𝗼𝗱𝗲 𝗮𝗻𝗱 𝗣𝗼𝗶𝗻𝘁𝗲𝗿𝘀 (𝟯 𝗹𝗲𝗰𝘁𝘂𝗿𝗲𝘀 | 𝟭𝟳𝗺𝗶𝗻)
- Baremetal Code 9:04
- FreeRTOS 5:42
- Linux 2:54

#cpointer #cpointertutorials #cpointersecrets #cpointersforembedded
Рекомендации по теме