Advanced C Programming Course


Advanced C Programming Course
Advanced C Programming Course
Last updated 8/2021
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz

Become a True Master of the C Programming Language – Confidently Apply for Real Time or Embedded C Jobs or contracts!

What you’ll learn
Understand and be able to apply advanced concepts of the C programming language to create advanced C applications.
Understand Function and Double Pointers, Recursion, Bit Manipulation, Macros, Signals and loads more (check curriculam on this page for full list).
Learn all about threads and networking with Sockets.
Be able to apply advanced C concepts to other programming languages.
How to write high quality C code, to make yourself more marketable for higher level programming positions and be apply for real-time/embedded programming positions.
Requirements
Basic knowledge of the C programming language (ideally having completed our Beginners course on Udemy).
A computer running Microsoft Windows, Linux or the Mac operating systems.
At least 4GB of ram on your computer.
Description
Overview

Section 1: Introduction

Lecture 1 Welcome to Class!

Lecture 2 Class Organization

Lecture 3 The C99 Standard

Lecture 4 The C11 Standard

Section 2: Installing Required Software

Lecture 5 Overview

Lecture 6 Installing the C compiler (Windows)
Lecture 7 Installing the C compiler (Mac)

Lecture 8 Installing Code Blocks (Windows)
Lecture 9 Installing CodeLite (Windows)
Lecture 10 Installing CodeLite (Mac)

Lecture 11 Installing Visual Studio Code (Windows)
Lecture 12 Installing Visual Studio Code (Linux)

Lecture 13 Installing Visual Studio Code (Mac)

Lecture 14 Exploring the Code Blocks Environment

Lecture 15 Creating a Project in Code Blocks

Lecture 16 Exploring the Visual Studio Code Environment

Lecture 17 Creating a Workspace and configuring the compiler in Visual Studio Code

Section 4: Working with Larger Programs

Lecture 18 Overview

Lecture 19 Compiling multiple source files from the command line

Lecture 20 Makefiles

Lecture 21 Communication between files

Lecture 22 Using Header files effectively

Lecture 23 Heap and Stack Memory Allocation

Section 5: Storage Classes

Lecture 25 External

Lecture 26 Static

Lecture 27 Register

Lecture 28 (Challenge)

Section 6: Advanced Data Types

Lecture 29 The #define statement (constants)

Lecture 30 Using typedef

Lecture 33 Flexible Array Members

Lecture 34 (Challenge) Flexible Array Members

Lecture 35 Complex number types

Lecture 36 (Challenge) Complex number types

Lecture 37 Designated Initializers

Lecture 38 (Demonstration) Challenge solutions

Section 7: Type Qualifiers

Lecture 39 const

Lecture 40 volatile

Lecture 41 restrict

Section 8: Bit Manipulation

Lecture 42 Binary numbers and bits

Lecture 43 (Challenge) Binary numbers and Bits

Lecture 44 (Demonstration) Binary numbers and Bits

Lecture 45 Bitwise Operators (Logical)

Lecture 46 Bitwise Operators (Shifting)

Lecture 47 (Challenge) Bitwise Operators

Lecture 48 (Demonstration) Bitwise Operators

Lecture 49 Bitmasks

Lecture 50 Using Bit Operators to pack data

Lecture 51 (Challenge) Setting and Reading bits

Lecture 52 (Demonstration) Setting and Reading bits

Lecture 53 Using Bit Fields to pack data

Lecture 54 (Challenge) Using Bit Fields to pack data

Lecture 55 (Demonstration) Using Bit Fields to pack data

Section 9: Advanced Control Flow

Lecture 56 The goto statement

Lecture 57 (Challenge) The goto statement

Lecture 58 The null statement

Lecture 59 The comma operator

Lecture 60 setjmp and longjmp functions

Lecture 61 (Challenge) setjmp and longjmp functions

Lecture 62 (Demonstration) Advanced Control Flow

Section 10: Input and Output

Lecture 63 char functions (input)

Lecture 64 char functions (output)

Lecture 65 (Challenge) char functions

Lecture 66 (Demonstration) char functions

Lecture 67 string functions

Lecture 68 (Challenge) string functions

Lecture 69 (Demonstration) string functions

Lecture 70 Formatting functions

Lecture 71 (Challenge) Formatting functions

Lecture 72 (Demonstration) Formatting functions

Section 11: Advanced Function Concepts

Lecture 74 va_copy

Lecture 77 Recursion

Lecture 78 (Challenge) Recursion

Lecture 79 (Demonstration) Recursion

Lecture 80 Inline Functions

Lecture 81 _Noreturn Functions

Section 12: Unions

Lecture 82 Overview

Lecture 83 Defining a Union

Lecture 84 Accessing Union Members

Lecture 85 (Challenge) Unions

Lecture 86 (Demonstration) Unions

Section 13: The Preprocessor

Lecture 87 Overview

Lecture 88 Conditional Compilation

Lecture 89 Include guards and #undef

Lecture 90 #pragma and #error

Section 14: Macros

Lecture 91 Overview

Lecture 92 Macros vs. Functions

Lecture 93 Creating your own Macros

Lecture 94 Preprocessor Operators

Lecture 95 Predefined Macros

Lecture 96 (Challenge) Macros

Lecture 97 (Demonstration) Macros

Section 15: Advanced Debugging, Analysis, and Compiler Options

Lecture 100 Debugging with the preprocessor

Lecture 103 core files

Lecture 104 Profiling

Lecture 105 Static Analysis

Lecture 106 (Challenge)

Lecture 107 (Demonstration)

Section 16: Advanced Pointers

Lecture 108 Double pointers (pointer to a pointer)

Lecture 110 (Challenge) Double pointers

Lecture 111 (Demonstration) Double pointers

Lecture 112 Function pointers

Lecture 113 (Challenge) Function pointers

Lecture 114 (Demonstration) Function pointers

Lecture 115 void pointers

Section 17: Static Libraries and Shared Objects

Lecture 116 Overview

Lecture 117 Creating a Static Library (archive)

Lecture 118 (Challenge) Static Library

Lecture 119 (Demonstration) Static Library

Lecture 120 Creating a Dynamic Library (Shared object)

Lecture 121 (Challenge) Dynamic Library

Lecture 122 (Demonstration) Dynamic Library

Lecture 123 Dynamically loading a shared object

Lecture 124 (Challenge) Dynamic Loading

Lecture 125 (Demonstration) Dynamic Loading

Section 18: Useful C Libraries

Lecture 126 Assert

Lecture 127 General Utilities (stdlib.h)

Lecture 130 Date and Time functions

Lecture 131 (Challenge)

Lecture 132 (Demonstration)

Section 19: Data Structures

Lecture 133 Abstract Data Types

Lecture 134 Linked Lists (Overview)

Lecture 135 Linked LIsts (Implementation)

Lecture 136 (Challenge) Linked Lists

Lecture 137 (Demonstration) Linked Lists

Lecture 138 Stacks (Overview)

Lecture 139 Stacks (Implementation)

Lecture 140 Queues (Overview)

Lecture 141 Queues (Implementation)

Lecture 142 Binary Trees (Overview)

Lecture 143 Binary Trees (Implementation)

Section 20: Interprocess Communication and Signals

Lecture 144 Interprocess Communication

Lecture 145 Signals (Overview)

Lecture 146 Raising a Signal

Lecture 147 Handling a Signal using the signal function

Lecture 148 Handling a Signal using sigaction
Lecture 149 The fork() system call

Lecture 150 (Challenge)

Lecture 151 (Demonstration)

Section 21: Threads

Lecture 152 Overview

Lecture 153 Creating a thread

Lecture 154 Passing arguments and returning values

Lecture 155 Common Thread functions

Lecture 156 Thread Synchronization Concepts

Lecture 157 Mutexes

Lecture 159 (Challenge)

Lecture 160 (Demonstration)

Section 22: Networking (Sockets)

Lecture 161 Overview

Lecture 162 The Socket API

Lecture 163 Creating a Server Socket

Lecture 164 Creating a Client Socket

Lecture 165 (Challenge)

Lecture 166 (Demonstration)

Section 23: Conclusion

Lecture 167 Course Summary

Section 24: Extra Information – Source code, and other stuff

Lecture 168 Source Codes

Lecture 169 Bonus Lecture and Information

This course is not aimed for beginners. If you have never used C programming before, then I would suggest you purchase our C Programming For Beginners course first, complete it then come back to take this advanced course.,On the other hand, if you already have a basic or prior experience with C programming, then this course is for you!

Importantissimo!

Per NON SBAGLIARE link e finire su qualche possibile clone, approfittare di offerte esclusive personalizzate per il nostro sito, e se gradisce questo articolo ed il nostro lavoro, la preghiamo di supportarci rinnovando o sottoscrivendo un Account Premium su FILESTORE cliccando sul link qui sotto:

FileStore

Share This Post!

Torna in cima