小白求解问题

白云牛奶糖 2019-12-13 08:15:10
指针变量本身不是内存地址嘛,为什么可以赋值?
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin5161678 2019-12-13
  • 打赏
  • 举报
回复
所以指针变量不是地址咯 多简单
gouyanfen 2019-12-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_46001652 的回复:
[quote=引用 2 楼 gouyanfen的回复:]指针变量指的是这个变量分配的内存中保存的是个地址,本身他也是个变量,当然可以赋值了 假如 int *p=0; p分配在了 0x400004 那这个地址中保存的就是0,p=XXXX,就相当于0x400004这个地址保存了XXXX,*p就相当于*(XXXX)读取XXXX地址的值
赋值后是不是就失去变量m的地址了呢大佬。[/quote] 那当然了,重新赋值就改变了他的内容了
白云牛奶糖 2019-12-13
  • 打赏
  • 举报
回复
引用 2 楼 gouyanfen的回复:
指针变量指的是这个变量分配的内存中保存的是个地址,本身他也是个变量,当然可以赋值了 假如 int *p=0; p分配在了 0x400004 那这个地址中保存的就是0,p=XXXX,就相当于0x400004这个地址保存了XXXX,*p就相当于*(XXXX)读取XXXX地址的值
赋值后是不是就失去变量m的地址了呢大佬。
白云牛奶糖 2019-12-13
  • 打赏
  • 举报
回复
引用 2 楼 gouyanfen的回复:
指针变量指的是这个变量分配的内存中保存的是个地址,本身他也是个变量,当然可以赋值了 假如 int *p=0; p分配在了 0x400004 那这个地址中保存的就是0,p=XXXX,就相当于0x400004这个地址保存了XXXX,*p就相当于*(XXXX)读取XXXX地址的值
那么int *p=&a,就是相当于把变量a的地址存到指针p的地址里面嘛,赋值的情况下就是相当于这个指针p没有指向别的变量,还是保持指向自己的内存空间嘛。
gouyanfen 2019-12-13
  • 打赏
  • 举报
回复
指针变量指的是这个变量分配的内存中保存的是个地址,本身他也是个变量,当然可以赋值了 假如 int *p=0; p分配在了 0x400004 那这个地址中保存的就是0,p=XXXX,就相当于0x400004这个地址保存了XXXX,*p就相当于*(XXXX)读取XXXX地址的值
白云牛奶糖 2019-12-13
  • 打赏
  • 举报
回复
引用 楼主 qq_46001652的回复:
指针变量本身不是内存地址嘛,为什么可以赋值?
前面的代码 #include<stdio.h> int *fun(int *p, int *q); int main() {

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧