<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Learn C With Me #07 — Strings | Live</title>
        <link>https://watch.linuxrenaissance.com/videos/watch/e6f700b4-4b06-45b3-9b44-e7cffa163031</link>
        <description>In Lesson 7 of Learn C With Me, we finally wrap up our journey through arrays in C and move on to our next major topic: strings. Using Beej's Guide to C as our study material, we finish the remaining section on passing multidimensional arrays to functions and then discover something very C-like: strings aren't really a separate built-in type at all. Instead, they're closely connected to arrays, pointers, and memory. We cover: Passing multidimensional arrays to functions, Why C needs to know all array dimensions except the first, How multidimensional array indexes translate into memory offsets, A final look at the relationship between arrays and pointers, String literals in C, The difference between "double quotes" and 'single quotes', Escaping characters inside strings, String variables, Representing strings using char *, Representing strings as arrays of char, Accessing individual characters using array notation, The difference between sizeof on an array and sizeof on a pointer, Using strlen() and string.h, Why strlen() returns size_t, String initializers, The difference between a pointer to a string literal and a mutable character array, Why attempting to modify a string literal results in undefined behavior, Null-terminated strings, The special '\0' character, How C knows where a string ends, Writing our own simple version of strlen(), Copying strings, Why assigning one string pointer to another doesn't actually copy the string, How two pointers can refer to the same memory, One of the biggest takeaways from this lesson is that C doesn't keep track of a string's length for us. A C string is essentially a sequence of characters in memory followed by a special '\0' terminator. We even look at how a simple strlen()-style function can find the length by walking through those characters until it reaches the terminator. We also run into an important distinction between char *s = "Hello"; and char s[] = "Hello";. They might initially look almost interchangeable, but their behavior becomes very different when we try to modify the data. This gives us another practical look at the relationship between pointers, arrays, strings, and memory. Finally, we experiment with copying strings and see why simply assigning one pointer to another doesn't create an independent copy. Both pointers can end up referring to the same underlying data, so modifying it through one pointer affects what we see through the other. As usual, we experiment, make mistakes, follow a few programming-related side quests, get help from the live chat, and try to understand why C behaves the way it does rather than simply memorizing syntax. This is an interactive, follow-along live course. I am learning C alongside you, so expect questions, mistakes, experiments and plenty of discussion. No passive watching here — participate in the chat and work through the examples with us. 📅 We go live every Saturday at 19:00 CEST — interactive, follow-along C programming sessions. 📖 Study material: Beej's Guide to C 📚 Course materials: Linux Renaissance C Programming Course 💬 Homework &amp; discussion: Linux Renaissance Forum 📺 All C Programming lessons: C Programming playlist 🔴 This stream is proudly sponsored by OPNsense — the open source firewall and routing platform trusted by professionals worldwide. OPNsense Support Linux Renaissance🛒 Shop: Linux Renaissance Shop ☕ Ko-fi: Ko-fi 🎖️ Patreon: Patreon ▶️ YouTube membership: YouTube Membership Find me elsewhere🌐 Blog: Linux Renaissance 🎥 PeerTube: Linux Renaissance on PeerTube 📺 Odysee: Linux Renaissance on Odysee 🎮 Twitch: Linux Renaissance on Twitch 💬 Matrix: Linux Renaissance Matrix space</description>
        <lastBuildDate>Wed, 09 Sep 2026 08:23:55 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://watch.linuxrenaissance.com</generator>
        <image>
            <title>Learn C With Me #07 — Strings | Live</title>
            <url>https://watch.linuxrenaissance.com/lazy-static/avatars/9c56e2c1-4172-455c-9801-e3a8bad36429.gif</url>
            <link>https://watch.linuxrenaissance.com/videos/watch/e6f700b4-4b06-45b3-9b44-e7cffa163031</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://watch.linuxrenaissance.com/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://watch.linuxrenaissance.com/feeds/video-comments.xml?videoId=e6f700b4-4b06-45b3-9b44-e7cffa163031" rel="self" type="application/rss+xml"/>
    </channel>
</rss>