O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

From 0 to 1: C Programming - Drill Deep

Video Description

C Programming is still a very useful skill to have - and this is the course to pick it up!

About This Video

  • Write C programs
  • Advanced towards C++ effortlessly

In Detail

C Programming is still a very valuable skill - and it’s also surprisingly easy to pick up. Don't be intimidated by C's reputation as scary - we think this course makes it easy as pie! What's Covered: Conditional Constructs: If/else and case statements have a surprising number of little details to be aware of. Conditions, and working with relational and logical operators. Short-circuiting and the order of evaluation. Loops: For loops, while and do-while loops, break and continue. Again, lots of little details to get right. Data Types and Bit Manipulation Operations, again full of little gotchas that interviewers and professors love to test. Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification - complete with visuals to help you conceptualize how things work.Strings: Strings, Character pointers, character arrays, null termination of strings, string. The function implementations with detailed explanations. Structs and Unions: These seem almost archaic in an Object-Oriented world, but worth knowing, especially in order to nail linked list problems. Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many problems and solutions, doubly linked lists. IO: Both console and file IO, Enums, typedefs, and macros.

Table of Contents

  1. Chapter 1 : Getting your feet wet
    1. C Programming: Still Relevant 00:02:04
    2. The Basic Structure of a C Program 00:12:29
    3. C Data Types 00:15:49
  2. Chapter 2 : Language constructs
    1. If/Else Statements – I 00:16:21
    2. If/Else Statements – II 00:16:08
    3. If/Else Statements – III 00:09:00
    4. If/Else Statements – IV 00:07:13
    5. If/Else Statements – V 00:18:08
    6. Case Statements 00:17:52
    7. Case Statements – II 00:11:01
    8. Case Statements – III 00:03:52
    9. While Loops 00:15:45
    10. Break and Continue 00:08:33
    11. For Loops 00:18:12
    12. Pre- and Post-Increment Operators 00:15:15
  3. Chapter 3 : Functions
    1. Functions - Delegate your way to the top 00:09:49
    2. C Functions: Defining, Declaring and Calling them 00:18:49
    3. Parameter Passing: Pass-by-value and pass-by-reference 00:06:50
  4. Chapter 4 : Some loose ends
    1. Storage classes in C 00:13:04
    2. Pre-processor Directives 00:14:34
    3. More Pre-processor directives 00:08:58
  5. Chapter 5 : Console IO
    1. Console IO - printf 00:13:07
    2. Console IO – printf 00:10:35
    3. Console IO – scanf 00:08:03
    4. Console IO – miscellany 00:10:07
  6. Chapter 6 : File IO
    1. Buffers and Streams 00:05:33
    2. File Operations are not rocket science 00:09:33
    3. More on file operations 00:08:54
    4. Binary and Text Files 00:03:06
  7. Chapter 7 : Bit Manipulation
    1. Bit Manipulation – I 00:10:08
    2. Bit Manipulation – II 00:08:39
    3. Useful Bit Manipulation Techniques 00:13:14
    4. Get And Set The Nth Bit 00:13:30
    5. Print And Count Bits 00:18:54
    6. Reverse The Bits In An Integer 00:10:11
  8. Chapter 8 : Structs and Unions
    1. C Structs - User-Defined Types Introduced 00:11:14
    2. C Structs: Everything you can do with them 00:10:24
    3. C Unions 00:04:13
  9. Chapter 9 : Dynamic Memory Allocation
    1. Dynamic memory allocation 00:16:22
    2. Free that memory! 00:06:06
    3. Stack and Heap Memory 00:14:37
    4. More ways to allocate memory 00:06:51
  10. Chapter 10 : Arrays
    1. Arrays in C 00:17:11
    2. Passing arrays as functions arguments 00:08:40
    3. Strings as character arrays 00:03:34
  11. Chapter 11 : Pointers
    1. Introduction to pointers 00:20:00
    2. Pointer problems and arrays 00:13:35
    3. Function Pointers 00:11:34
    4. Pointer arithmetic 00:11:43
    5. Practice makes perfect - pointer problems 00:07:38
  12. Chapter 12 : Strings are just pointers at heart
    1. Working with strings 00:14:07
    2. Pointers as arguments to functions 00:09:39
    3. Practice makes perfect - string problems 00:19:24
  13. Chapter 13 : Linked lists can be fun!
    1. Pointers to pointers: bend your mind 00:10:28
    2. Pointers to pointers: reassignment and modification 00:11:14
    3. Get started with linked lists 00:17:17
    4. Warming up - linked lists get tricky quickly 00:16:20
    5. Cruising along - linked lists are fun! 00:19:00
    6. Autopilot - Linked lists are easy now! 00:16:31
    7. The doubly linked list 00:10:03