Yeh page har woh word aur symbol define karta hai jis par parent note ne rely kiya tha. Agar parent mein koi term achanak se aaya laga, toh woh yahan ground up se define kiya gaya hai. Upar se neeche padho — har idea ek brick hai jis par agla khada hota hai.
Topic ko yeh kyun chahiye: parent mein almost har UB ("out of bounds", "use-after-free", "dangling pointer") ek aisi mailbox ko touch karne ke baare mein hai jise tum touch karne ke allowed nahi the. "Out of bounds" ko samjhe bina mailboxes ki street aur tumhara fenced-off region kahan shuru aur khatam hota hai, yeh dekhe bina samajhna mushkil hai.
Topic ko yeh kyun chahiye: parent ka Example 3 (return &local;) poori tarah lifetime ke baare mein hai. Boxes theek hain — number 42 abhi bhi wahan baitha ho sakta hai — lekin woh ab local ke naam pe nahi hain. Unhe padhna UB hai kyunki lifetime khatam ho gayi, na ki memory gayab ho gayi.
Parent ke Category 1 ke saare examples pointers use karte hain, isliye ab har pointer symbol ko samajhte hain. Poore topic ke liye dekho Pointers and Memory in C.
Yeh dono kyun hain aur kuch aur kyun nahi: & se tum ek pointer banate ho (tumhe store karne ke liye house number chahiye), aur * se tum use karte ho (house number tab tak bekar hai jab tak tum actually wahan walk nahi karte). Parent ka phrase "dereferencing a null pointer" literally matlab hai: *p karna jab p ek forbidden address rakhta ho.
Topic ko yeh kyun chahiye: parent ka Example 4 size-3 array se a[3] padhta hai. Figure dekho — index 3fence ke bahar ek aisi box mein step karta hai jo kisi aur ki hai. Woh step out of bounds hai, aur ise padhna ya likhna UB hai. Valid range hai 0 se n−1; "one past the end" wali box ko point kiya ja sakta hai lekin khola nahi ja sakta.
Parent ki Category 2 (arithmetic UB) ke liye tumhe pata hona chahiye ki numbers kaise store hote hain. Poora topic: Integer Types and Overflow.
Topic ko yeh kyun chahiye: parent ka Example 1 ek overflow check delete karta hai kyunki signed overflow UB hai. Compiler assume karne ka haqdar hai ki "yeh kabhi nahi hota". Agar overflow sirf "wrap-around" hota (jaise unsigned mein hota hai), toh check survive karta. Poora example is asymmetry par tika hua hai.
Topic ko yeh kyun chahiye: yeh ek rule hi woh reason hai ki UB "poore program ko poison karta hai" (parent ka mistake #2). Compiler ek impossible-by-assumption path se backwards aur forwards reason karta hai, isliye line 50 par UB line 10 par ek check silently erase kar sakta hai. Parent ke har worked example ka yeh ek line consequence hai.