No, not the same. In essence, the answer can be found in my comment to the question.
I think it would be enough if I give you some hint withing the scope of C only. You are not yet ready for OOP and need to understand some more fundamental notions before jumping to OOP. Even in C, object and variable is not the same. Object is something you work with and something which takes place in memory during runtime. In programming, there is such a fundamental thing as pointer. Physically, pointer is represented as some machine address (in one or another address space; it depends on the platform), and, therefore, is itself and object. And the address can point to some memory location. And here there can be one more object, the object pointed by the pointer.
Now, a pointer may or may not have the name in your source code. And this would be the variable name. Variables per se do not exist during runtime; there are the artifact of your source code. Physically, this is also an address of some object, on stack, on heap or in the memory reserved for static objects (some developers know the notion of "data segment", but this also depends on the platform). Object may or may not have the name. Consider this:
int a = 13; int b = 14;
int * c = &a; c = &b;
You can pass the pointer
c
to some context where
a
and
b
do not exist, so you can have the pointer which is itself pointed by some name ("c"), but the integer object itself have no name. One obvious way to do that is to allocate memory on the heap. So,
you can have an object without a variable. For example a
linked list can have
N
objects on certain type, but only head object has a pointer pointing to it. Learn linked lists; without them, you hardly can understand programming.
Now, OOP object are similar to the objects of
struct
types which you could have in C. But, in addition to that, you can have a lot more. The root of OOP is virtual methods (and hence virtual tables), overriding (dynamic dispatch of calls) and hence,
late binding and
polymorphism. To get to the point you can understand all that, you really need to understand how objects and variables work in some low-level language like C.
—SA