void main()
{
BOY *boys;
boys->Name="Joy"; //do you think it can run well???
}
because pointer don't point any piece of memory?
now see string:
infact string is predefined type in c#,it can be described as char * in c. so object with this type can be directly set value. when it 's set ,it has a pointer which point to the place the computer assigned in memory.