指针与指针变量的区别?

指针与指针变量的区别?1.它们是不是指同一个东西;如:char*p;*p是指针还是指针变量,或者p是指针还是指针变量(前提是仅仅声明,而未赋值,赋值以后好像还有区别。)2... 指针与指针变量的区别?
1.它们是不是指同一个东西;
如 : char *p; *p是指针还是 指针变量 , 或者 p是指针还是指针变量(前提是 仅仅声明,而未赋值,赋值以后好像还有区别。)
2 指针和指针变量是否占用内存空间?
char *p; // 是一个指向字符变量的 指针变量 还是一个指向字符变量的指针。

3 char *str, **pstr;
str = (char *) malloc(100);
pstr = &str;
strcpy(str, "hello");
假设 *str,占用内存空间,那么pstr值(存放的内容)应该是 str本身所占的内存地址吧。
但是,vs2005 查看str所指向的地址和pstr的值是相同的,也就是说pstr存放的值是malloc返回的首地址。 问题出在哪里?我的假设出错还是我对 指针和指针变量的 理解完全错误。求解
pstr是指向指针的指针,它应该存放的是str的地址,但是我在vs2005中查看内存确实是pstr的值和str的值是相同的、很不理解这是为什么
展开
 我来答
beddy1
2012-10-17 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2201万
展开全部
指针是一种类型,指针变量是变量,不是一个东西。
就像int 与 int j; 中 j的区别一样。
类型不实际占用内存空间,但是它有大小。比如int的大小是4,而它的实例j占用4个Byte。

指针本身也就是个地址,你的第三个问题没怎么看明白, str 的确存的是你申请到的内存空间的地址,但pstr存的是str的地址。

关于使用内存查看器的问题,多级指针的话VS是带逐级展开功能的,请注意你看的是pstr本身还是它所指向的内容。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式