私の理解では、
例1
cPtr = (char*)malloc(100);
例2
1 char c = 0;
2 char* cPtr = &c
3 cPtr = (char*)malloc(100);
例 1 では、malloc はメモリ空間を作成し、割り当てられたメモリのアドレスの最初のブロックを返します。したがって、cPtr はヒープ内の任意のアドレスを取得します。
Example2 の 2 行目で、cPtr は c を指しています。したがって、cPtr のアドレスは c です。
このとき、例 2 の 3 行目を実行すると、cPtr の値はどうなるでしょうか? Example1 で述べたように、任意のメモリ アドレスを取得しますか? それとも、c のアドレスを保持し、スペースを作成しますか?