Course: Functions and Memory in C

$209.00
$252.89 incl. vat

duration: 11 hours |

Language: English (US) |

access duration: 180 days |

Details

This course will teach you all about the functions and memory of programming language C. You start this course by exploring the basics of functions and how to use them in C. Next, you’ll move on to variable scopes, storage classes and structs to reuse codes in an efficient and effective way. Then, you’ll explore pointers to learn how to view the memory location referenced by the pointer and how to dereference a pointer to view the data at the referenced address or modify data stored at the memory location being pointed to. Next, you’ll take a deeper dive into the nuances of arrays and pointers and discover how to use pointer arithmetic as a method of viewing array elements. Finally, you will compare stack and heap memory, exploring the advantages and limitations of each.

Result

After completing this course, you'll be able to define and invoke functions, confidently leverage variable scopes and storage classes to define values, scope, and visibility and use pointers, arrays, and different types of memory.

Prerequisites

No formal prerequisites. However, some prior knowledge about the topic is recommended.

Target audience

Software Developer, Web Developer

Content

Functions and Memory in C

11 hours

Functions and Memory in C: Getting Started with Functions

  • In C, as in other programming languages, the term function

  • refers to a named and parameterized block of code that can be
  • invoked repeatedly. Functions allow monolithic programs to be split
  • into modular chunks, greatly facilitating code reuse and
  • simplifying and improving the logical structure of programs.
  • Explore C functions and learn how they are defined, declared, and
  • invoked. Next, move on to built-in functions and discover how to
  • convert strings to integers, floats, or longs. Then, you will
  • create your own functions to accept input arguments from and return
  • output to the invoker of the function. Finally, you will study the
  • difference between the declaration and the definition of a
  • function. After completing this course, you'll be able to define
  • and invoke functions, understand implicit and explicit function
  • declarations, and use both library functions and user-defined
  • functions.

Functions and Memory in C: Using Variable Scopes, Storage Classes, & Structs

  • A vital part of programming is being able to reuse codes in an

  • efficient and effective way. Using variable scopes, storage
  • classes, different user-defined types like structs, unions and
  • enums allow programmers to scale their programs and create
  • meaningful structures. Begin by exploring variable scope and learn
  • how to input argument scoping and redefine variables. Discover how
  • to work with storage classes and access them in file scope, local
  • scope, and across files. Finally, take a look at different
  • user-defined types in C. Upon completion of this course, you will
  • be able to confidently leverage variable scopes and storage classes
  • to define values, scope, and visibility.

Functions and Memory in C: Getting Started with Pointers

  • One of the main reasons C retains its relevance after 50 years

  • is the level of interaction between the programmer and the memory
  • which C allows for. While more modern languages such as Python
  • manage the memory under-the-hood, C allows the user to control all
  • aspects of memory management. At the heart of C’s memory management
  • capabilities lie pointers. Begin this course focusing on memory
  • allocation layout and the concepts of stack and heap memory. Then,
  • explore pointers to learn how to view the memory location
  • referenced by the pointer and how to dereference a pointer to view
  • the data at the referenced address or modify data stored at the
  • memory location being pointed to. Finally, use the NULL keyword as
  • both a value and a pointer to the non-existent memory address of 0.
  • Upon completion of this course, you'll be able to use referencing
  • and dereferencing operators in C and properly test for and use NULL
  • values.

Functions and Memory in C: Leveraging Pointers with Arrays & Functions

  • Pointers are some of the most important building-blocks of C and

  • are used with a variety of data types. In particular, pointers have
  • a special relationship with arrays, because an array is effectively
  • a pointer to a contiguous block of memory used to hold elements of
  • a specific type. In this course, you will create both arrays and
  • pointers to those arrays. Next, take a deeper dive into the nuances
  • of arrays and pointers and discover how to use pointer arithmetic
  • as a method of viewing array elements. Finally, explore passing
  • pointers and arrays into functions. After completing this course,
  • you'll be able to leverage the equivalence between pointers and
  • arrays, use pointer arithmetic, and return pointers from
  • functions.

Functions and Memory in C: Allocating Memory on the Heap

  • C programmers can commonly use two kinds of memory: stack and

  • heap. While stack memory is used to store local variables and is
  • fully managed by C, it does have major limitations that are
  • mitigated by heap memory. In this course, you will compare stack
  • and heap memory, exploring the advantages and limitations of each.
  • Then, you will allocate memory using the malloc() function and
  • deallocate memory using free(). Next, you will examine dangling
  • memory issues that can cause potentially dangerous security issues.
  • You will also explore other common allocation functions like
  • calloc() to zero out memory and realloc() to help when you
  • underestimate how much memory an array will require. Finally, you
  • will focus on pointers to struct objects. After completing this
  • course, you'll be able to allocate memory malloc, calloc, and
  • realloc; free memory; use pointers to structs; and avoid problems
  • related to dangling pointers and memory leaks.

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact