Table of Contents

    Types of Pointers in C: Explained with Examples

    Types of Pointers in C: Explained with Examples

    pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before using it to store any variable address. The general form of a pointer variable declaration is ?

    type *var-name;

    What is a pointer in C programming?

    A pointer is a user-defined data type which creates special types of variables which can hold the address of primitive data type like char, int, float, double or user-defined data type like function, pointer, etc. or derived data type like an array, structure, union, enum.

    Examples:

    int *ptr;

    int (*ptr)();

    int (*ptr)[2];

    Important points about pointer?

    • In computer science, a pointer is a programming language object, whose value refers to (or “points to”) another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer.
    • A pointer is a variable which contains the address in memory of another variable. We can have a pointer to any variable type.
    • The unary or monadic operator & gives the “address of a variable”.
    • The indirection or dereference operator gives the “contents of an object pointed to by a pointer”.

    The general form of a pointer variable declaration is ?

    type *var-name;

    Here, the type is the pointer’s base type; it must be a valid C data type, and var-name is the name of the pointer variable. The asterisk * used to declare a pointer is the same asterisk used for multiplication. However, in this statement, the asterisk is being used to designate a variable as a pointer. Take a look at some of the valid pointer declarations ?

    int    *ip;    /* pointer to an integer */
    double *dp;    /* pointer to a double */
    float  *fp;    /* pointer to a float */
    char   *ch     /* pointer to a character */

    type *var-name;

    Types Of Pointers In C Programming

    • NULL Pointer
    • Dangling Pointer
    • Generic Pointers
    • Wild Pointer
    • Complex Pointers
    • Near Pointer
    • Far Pointer
    • Huge Pointers