-6
我最近一直在研究中的指针C,和我不能似乎完全理解此代码:差异,* PTR和&PTR
int *ptr= (*int) 99999;
*ptr = 10;
printf("%d\n,*ptr); //Outputs: 10
printf("%p\n",&ptr); //Outputs: 0029FF14
printf("%p\n",ptr); //Outputs: 0001869F
问题?
- 是“& ptr = 0029FF14”存储“* ptr = 10”的存储位置吗?
- “ptr = 0001869F”是否存储“& ptr = 0029FF14”的存储位置?如果不是那么ptr是什么?
谢谢!
我相信这个问题不同于“C指针语法”后,因为它不区分ptr,* ptr和& ptr,这意味着帖子并没有解释为什么“ptr”包含不同的值,具体取决于它随附的操作员。 [EDITED]
你为什么认为选择一个随机存储位置可以工作? aka这行''ptr = 10;' –
该代码不会提供那些输出,实际上不会编译。 – OrangeDog
@EdHeal这行不是问题。 'int * ptr =(* int)99999;'is。 – glglgl