数组中每个元素的内存地址显示为
int first[4], n=4;
for(int i=0;i<n;i++){
cout<<"first#" <<i<<" "<<&first[i]<<endl;
}
我想问一下如何输出使用malloc分配的每个元素的地址?
int *first = (int *) calloc(n, sizeof(int));
您的代码可以以完全相同的方式用于输出malloc
分配的内存。
或者你可以用下面的方式做指针:
int *array;
array=malloc(4*sizeof(int);
for(int i=0;i<4;i++)
printf("Address %d : %pn",i,(array+i));
如果内存是自动分配还是手动分配(如malloc),您认为这会有什么不同?