What is the difference when I have for example,
int var1, *ptr;
ptr = &var1; // the pointer ptr copies the address of var1, hence ptr points to var1?
int var1, *ptr;
ptr = var1; // ptr points to var1, but does not have the address of var1, so can not change the value of address var1?
int *var1, *ptr;
*ptr = *var1; // copy value of var1 into the location pointed to by ptr?
are my comments correct ?