Array
/əˈreɪ/
noun … “Contiguous collection of elements.”
Array is a data structure consisting of a sequence of elements stored in contiguous memory locations, each identified by an index or key. Arrays allow efficient access, insertion, and modification of elements using indices and are foundational in programming for implementing lists, matrices, and buffers. They can hold primitive types, objects, or other arrays (multidimensional arrays).
Key characteristics of Array include:
Pointer Arithmetic
/ˈpɔɪntər ˌærɪθˈmɛtɪk/
noun … “Calculating addresses with pointers.”
Pointer Arithmetic is a programming technique that performs mathematical operations on pointers to navigate through memory locations. It allows programmers to traverse arrays, structures, and buffers by adding or subtracting integer offsets from a pointer, effectively moving the reference to different memory addresses. This technique is widely used in low-level languages like C and C++ for efficient memory access and manipulation.
Pointer
/ˈpɔɪntər/
noun … “Variable storing a memory address.”
INT64
/ˌaɪˌɛnˈtiːˈsɪksˈtɪi/
noun … “Signed 64-bit integer.”
UINT64
/ˌjuːˌaɪˈɛnˈtiːˈsɪksˈtɪi/
noun … “Unsigned 64-bit integer.”
UINT64 is a fixed-size integer data type representing non-negative whole numbers ranging from 0 to 18,446,744,073,709,551,615 (264 − 1). Being unsigned, UINT64 does not support negative values. It is widely used in systems programming, cryptography, file offsets, and any context requiring precise, large integer representation. UINT64 is typically implemented in memory as 8 bytes, conforming to the platform's endian format.
Variable Hoisting
/ˈvɛəriəbl ˈhoʊstɪŋ/
noun … “Declarations move to the top of their scope.”
Global Scope
/ˈɡloʊbəl skoʊp/
noun … “Variables accessible from anywhere in the program.”
Global Scope refers to the outermost scope in a program where variables, functions, or objects are defined and accessible throughout the entire codebase. Any variable declared in global scope can be read or modified by functions, blocks, or modules unless explicitly shadowed. While convenient for shared state, overusing global scope can increase risk of naming collisions and unintended side effects.
Key characteristics of Global Scope include:
Block Scope
/blɑk skoʊp/
noun … “Variables confined to a specific block of code.”
Block Scope is a scoping rule in which variables are only accessible within the block in which they are declared, typically defined by curly braces { } or similar delimiters. This contrasts with function or global scope, limiting variable visibility and reducing unintended side effects. Block Scope is widely used in modern programming languages like JavaScript (let, const), C++, and Java.
Key characteristics of Block Scope include:
Lexical Scoping
/ˈlɛksɪkəl ˈskoʊpɪŋ/
noun … “Scope determined by code structure, not runtime calls.”
Lexical Scoping is a scoping rule in which the visibility of variables is determined by their position within the source code. In languages with lexical scoping, a function or block can access variables defined in the scope in which it was written, regardless of where it is called at runtime. This is fundamental to closures and scope management.
Scope
/skoʊp/
noun … “Where a variable is visible and accessible.”
Scope is the region of a program in which a variable, function, or object is accessible and can be referenced. Scope determines visibility, lifetime, and the rules for resolving identifiers, and it is a fundamental concept in programming languages. Understanding scope is essential for managing state, avoiding naming collisions, and enabling features like closures and modular code.
Key characteristics of scope include: