C Programming: Pointers and Memory Management

Brought by: edX

Overview

In this course, we will examine a key concept, foundational to any programming language: the usage of memory.

This course builds upon the basic concept of pointers, discussed in C Programming: Modular Programming and Memory Management, and introduces the more advanced usage of pointers and pointer arithmetic. Arrays of pointers and multidimensional arrays are addressed, and you will learn how to allocate memory for your own data during program execution. This is called dynamic memory allocation at runtime using pointers.

Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!

In this course, you will gain experience with programming concepts that are foundational to any programming language.

At the end of this short course, you will reach the fourth milestone in the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.

This course has received financial support from the Patrick & Lina Drahi Foundation.

Taught by

Petra Bonfert-Taylor and Rémi Sharrock

C Programming: Pointers and Memory Management
Go to course

C Programming: Pointers and Memory Management

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Available
  • Available at any time
  • beginner
  • English
8.1.2PHP Version259msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (151ms)
    • Application (107ms)
    • 1 x Booting (58.39%)
      150.94ms
      1 x Application (41.37%)
      106.95ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed16.28ms
      • select * from `courses` where `slug_en` = 'c-programming:-pointers-and-memory-management' limit 1
        14.75ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. c-programming:-pointers-and-memory-management
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-01-30 20:15:09' where `id` = 6806
        440μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-01-30 20:15:09
        • 1. 6806
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (1)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (59) and `institutions`.`deleted_at` is null
        290μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 6797 limit 1
        210μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 6797
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        YlZN6IsnJ6x6uyNPZjIkKmneTqQzBbTIcOSJ4WE1
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/c-programming:-pointers-and-memory-manage...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/c-programming:-pointers-and-memory-management
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "18.218.180.140" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.218.180.140" ] "cf-ray" => array:1 [ 0 => "90a421e24dad2226-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "18.218.180.140" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.218.180.140" "HTTP_CF_RAY" => "90a421e24dad2226-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "15742" "REMOTE_ADDR" => "172.71.254.237" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/c-programming:-pointers-and-memory-management" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1738268109.4334 "REQUEST_TIME" => 1738268109 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 30 Jan 2025 20:15:09 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkpFV3ZJeC9hdXI2SFpqdVRJVVFrdUE9PSIsInZhbHVlIjoic29zdm9EU3BFejRTemxuTjRQbXczSDdHbFlIbUJnd25MWFVmaVJtaXRCLys3MEV4bWJ4Q3FWTktPRjRMZWxDUXhSOVJ4SStDMmJCbm1PbVV6akx3Ty95YklhS05kNXhtc2JCcEhZcCtybXF0RGRYZmJhSzdpMlI1bzZwL3JWMFIiLCJtYWMiOiI1MzdiNzNkM2MyOTI2ZDkwMzFlNDA5MzIwOGQ5OGFkYjQ5ZGY4YTAzYTNhMmMzNWRhMTg5ZWViMDc4ZWIzNTQzIiwidGFnIjoiIn0%3D; expires=Thu, 30 Jan 2025 22:15:09 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkpFV3ZJeC9hdXI2SFpqdVRJVVFrdUE9PSIsInZhbHVlIjoic29zdm9EU3BFejRTemxuTjRQbXczSDdHbFlIbUJnd25MWFVmaVJtaXRCLys3MEV4bWJ4Q3FWTktPRjRMZWxDUXhSOVJ4S" 1 => "laravel_session=eyJpdiI6Imtwa21XZDhnWlhKZUIwNEdzdVVWMnc9PSIsInZhbHVlIjoiSVBZWTBwM0tHWElOM1NJcHpXQWJGaS9sNXcwQytyeG1vZTVyM1BjOXNsS1ZRVGt5K2lSK1pubUtzOXJwcGJvQ3ZMTDJ6alNoQzdPNnJQaEFxL21pMkduRUthL3lXNXdNd2ZsU3ZNR29SY25PM2JOaGpTQjAxRmFtK0FrcTc0MkoiLCJtYWMiOiI3OGJmYjZlZmVmNzU2Y2I3NTE4Yjk2MWQ2ZTg3YjE3OWVkYzQxZmUxMmY0Njk1NzllZjkzNTY1NjVlMzkxNzRkIiwidGFnIjoiIn0%3D; expires=Thu, 30 Jan 2025 22:15:09 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Imtwa21XZDhnWlhKZUIwNEdzdVVWMnc9PSIsInZhbHVlIjoiSVBZWTBwM0tHWElOM1NJcHpXQWJGaS9sNXcwQytyeG1vZTVyM1BjOXNsS1ZRVGt5K2lSK1pubUtzOXJwcGJvQ3ZM" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkpFV3ZJeC9hdXI2SFpqdVRJVVFrdUE9PSIsInZhbHVlIjoic29zdm9EU3BFejRTemxuTjRQbXczSDdHbFlIbUJnd25MWFVmaVJtaXRCLys3MEV4bWJ4Q3FWTktPRjRMZWxDUXhSOVJ4SStDMmJCbm1PbVV6akx3Ty95YklhS05kNXhtc2JCcEhZcCtybXF0RGRYZmJhSzdpMlI1bzZwL3JWMFIiLCJtYWMiOiI1MzdiNzNkM2MyOTI2ZDkwMzFlNDA5MzIwOGQ5OGFkYjQ5ZGY4YTAzYTNhMmMzNWRhMTg5ZWViMDc4ZWIzNTQzIiwidGFnIjoiIn0%3D; expires=Thu, 30-Jan-2025 22:15:09 GMT; path=/XSRF-TOKEN=eyJpdiI6IkpFV3ZJeC9hdXI2SFpqdVRJVVFrdUE9PSIsInZhbHVlIjoic29zdm9EU3BFejRTemxuTjRQbXczSDdHbFlIbUJnd25MWFVmaVJtaXRCLys3MEV4bWJ4Q3FWTktPRjRMZWxDUXhSOVJ4S" 1 => "laravel_session=eyJpdiI6Imtwa21XZDhnWlhKZUIwNEdzdVVWMnc9PSIsInZhbHVlIjoiSVBZWTBwM0tHWElOM1NJcHpXQWJGaS9sNXcwQytyeG1vZTVyM1BjOXNsS1ZRVGt5K2lSK1pubUtzOXJwcGJvQ3ZMTDJ6alNoQzdPNnJQaEFxL21pMkduRUthL3lXNXdNd2ZsU3ZNR29SY25PM2JOaGpTQjAxRmFtK0FrcTc0MkoiLCJtYWMiOiI3OGJmYjZlZmVmNzU2Y2I3NTE4Yjk2MWQ2ZTg3YjE3OWVkYzQxZmUxMmY0Njk1NzllZjkzNTY1NjVlMzkxNzRkIiwidGFnIjoiIn0%3D; expires=Thu, 30-Jan-2025 22:15:09 GMT; path=/; httponlylaravel_session=eyJpdiI6Imtwa21XZDhnWlhKZUIwNEdzdVVWMnc9PSIsInZhbHVlIjoiSVBZWTBwM0tHWElOM1NJcHpXQWJGaS9sNXcwQytyeG1vZTVyM1BjOXNsS1ZRVGt5K2lSK1pubUtzOXJwcGJvQ3ZM" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "YlZN6IsnJ6x6uyNPZjIkKmneTqQzBbTIcOSJ4WE1" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/c-programming:-pointers-and-memory-management" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]