int main() { char *str = NULL; printf("%p ", str); printf("%p ", &str); return 0; }
str地址有值,但是str的值为0,是无效的内存地址
int main() { char *str = ""; printf("%p ", str); printf("%p ", &str); return 0; }
str指向一个存储空串的地址,是有效地址