【发布时间】:2022-12-04 20:17:54
【问题描述】:
这是使用malloc进行动态内存分配的代码
void main()
{
int *p,n=5;
p=(int*)malloc(5*sizeof(int));
p[0]=10;
// or *p=10;
p[1]=20
// or *(p+1)=20;
}
据我所知,p是一个指针变量,指向已分配内存的基地址。如果不使用*操作符,则无法访问p指向的内容。但是声明p[1]=20和*(p+1)=20
做同样的工作。为什么这是一样的,如果我们也可以这样做,* 有什么用 p[1]
【问题讨论】: