在我的理解中,
示例 1
cPtr = (char*)malloc(100);
示例 2
1 char c = 0;
2 char* cPtr = &c
3 cPtr = (char*)malloc(100);
在 Example1 中,malloc 创建了一个内存空间并返回分配内存的第一个地址块。所以 cPtr 在堆内得到一个任意地址。
在 Example2 的第 2 行中,cPtr 指向 c。所以 cPtr 的地址为 c。
此时,当你执行例 2 的第 3 行时,cPtr 的值是多少?它是否获得了我在示例 1 中提到的任意内存地址?或者,它是否保留 c 的地址并创建一个空格?