The answer is no.
char* means to specify a simple array of char values ββ(or single).
char* myCharPtr = "This is a string.";
On the other hand, NSString *name will be a pointer to an object that can have many additional functions, and you cannot rely on where the actual symbol data is stored, or how. It is not encoded as ASCII (Sherm Pendley below, says UTF-16), and it may have additional data such as string length, etc.
NSString* myStringPtr = @"This is an NSString.";
You modify and access unknown objects through their open methods, because you do not know how they are formatted in memory and, therefore, cannot directly access their data. (Or because they encapsulate themselves to hide it from you.)
You can use the NSString pointer later if you declare it as NSString *name . Here is what I mean:
NSString *name = @"This is a string."; NSString *sameName = name; //This is pointing to the same object as name NSLog(@"%@", sameName); //This prints "This is a string.", and if NSStrings were mutable, changing it would change name as well. //They point to the same object.
source share