求C尀C++高手,有关动态分配内存的问题

2024-11-30 22:01:57
推荐回答(3个)
回答1:

e=(Elem *)malloc(10*sizeof(Elem));
----------------------------------------------------
这一句动态分配了10个Elem大小的连续空间,e指向这片空间的首地址。
e[i]等价于:*(e+i)
即:第i个Elem对象(i是不能大于9的正整数)。

回答2:

sizeof(Elem)???
e[i]表示:以分配的内存地址为起始地址,第i+1个Elem类型“内存块”。i不一定是正整数,但一定是整数。
e[i]此时不是指针,而是表示一个Elem类似的数据块。

回答3:

算是指针 不过是指针用了像数组一样的下标表现形式