Can a C variable be deleted or removed at any time during the running of a program?

c, free

Solution

You don't. The object's lifetime ends once it goes out of scope (it is known as an automatic object, because it is automatically cleaned up).

e.g.

void foo() {
    int j = 3;

    while (blah) {
        int i = 5;
    }

    // i no longer exists
}

// j no longer exists

Problem

I am wondering if it is possible to delete, that is remove from use, a C variable, say, for example, once the variable is used once? I was reflecting some time ago on this subject, and one question arose in my mind. C has many data types and we can create a variable of data type, say integer by the simple code `int i;` Once we have created a variable in this manner, how do we 'delete' it if we do not require it in future use? I searched on the net, but did not find any C command that does this. By 'k is deleted', I mean 'k has ceased to exist'. I mean, once we do not need the variable, it is a waste, and should be removed. C does provide the `free()` function, but it only works on memory allocated using `calloc(), malloc()`, or `realloc()`. So how does one remove, say, an `int` variable, once it has been used?

Original source