Is id in Objective C is primitive data type

cocoa, ios, objective-c

Solution

`id` is declared in objc.h as

typedef struct objc_object {
    Class isa;
} *id;

so yes, I'd say it's primitive (pointers are primitive types in C).

Problem

I am bit confused, as my title mentioned, Is `id` in Objective C is primitive data type? or Object type? I always thought that `id` is Object type as it is pointing towards an object. So, Is it Object type or Primitive data type?

Original source