ans*_*tta 2 c memory pointers temp
int main()
{
int i=0;
int* p_numbers = ((int*) malloc (5*sizeof(int)));
int* temp;
temp = p_numbers;
for(i=0;i<5;i++)
{
*temp=i;
printf("temp %d p_numbers %d",*temp,*p_numbers);
temp++;
}
}
Run Code Online (Sandbox Code Playgroud)
请告诉分配给tempie 的指针temp=p_numbers.
是temp不是指向指向的相同内存位置p_numbers?
小智 5
变量temp和p_numbers将指向同一个内存位置上循环的第一次迭代.之后,temp以整数递增,但p_numbers不会.
由于分配,p_numbers = [0,1,2,3,4]所以你打印出来:
temp 0 p_numbers 0
temp 1 p_numbers 0
temp 2 p_numbers 0
temp 3 p_numbers 0
temp 4 p_numbers 0
Run Code Online (Sandbox Code Playgroud)
将指针视为指向内存地址,而不是像Java引用语法.
| 归档时间: |
|
| 查看次数: |
3943 次 |
| 最近记录: |