• Scoopta@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    const volatile is used a lot when doing HW programming. Const will prevent your code from editing it and volatile prevents the compiler from making assumptions. For example reading from a read only MMIO region. Hardware might change the value hence volatile but you can’t because it’s read only so marking it as const allows the compiler to catch it instead of allowing you to try and fail.

      • Suzune@ani.social
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        7 months ago

        When you program embedded you’ll also dereference NULL pointers at some point.

        More...

        Some platforms can have something interesting at memory address 0x0 (it’s often NULL in C).

        • Scoopta@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          In amd64/x86 kernel space you can dereference null as well. My hobby kernel keeps critical kernel structures there XD.