C语言中指针变量是存在哪里的?

比如我们的全局和静态变量放在全局区,生命周期是整个程序运行期间我们的局部变量是放在栈区,模块执行结束后退栈我们程序员自己开的内存是放在堆区,用完自己free那指针算什么?... 比如
我们的全局和静态变量放在全局区,生命周期是整个程序运行期间
我们的局部变量是放在栈区,模块执行结束后退栈
我们程序员自己开的内存是放在堆区,用完自己free

那指针算什么?是放在哪里的?
比如我
int *a;
a =(int*) malloc(10*sizeof(int));

这个a指向的内存是在堆上
但是a指针本身的4个字节是放在哪里的?
展开
 我来答
tattackor
2015-09-15 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:888万
展开全部
1、指针变量和普通的变量一样,编译期储存在代码当中,运行期间储存在内存里。c语言的变量值是通过该变量的内存地址寻址得到的,而对于一个已经编译好的程序,变量的地址都是确定的值,不可以更改。这是因为程序在编译时编译器已经通过语法分析把指针变量的地址值计算出来了,所以指针变量实际上不用保存在内存堆栈或数据段中,而是包含在汇编代码里面。
2、指针变量里面就是整型的一个十六进制数,用来表示的就是指向某个变量的地址;
指针是C语言中广泛使用的一种数据类型;
利用指针变量可以表示各种数据结构
能很方便地使用数组和字符串
并能象汇编语言一样处理内存地址,从而编出精练而高效的程序;
指针极大地丰富了编程语言的功能。
山上的阿竹
2012-01-31 · TA获得超过463个赞
知道小有建树答主
回答量:513
采纳率:87%
帮助的人:135万
展开全部
指针本身存放地的规则同一般变量,如果是全局或者静态就在堆中,如果是局部变量、参数就放在栈中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-31
展开全部
放在栈中,和 int b;一样;
int* a;和 int b;
a和b存放在同一块内存中。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
22x22x
2013-02-27
知道答主
回答量:62
采纳率:0%
帮助的人:25.2万
展开全部
在单片机里面, ’指针变量‘ 是存储在 寄存器 里面的。 我用430单片机仿真观察到的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycsxm
2012-01-31 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7940万
展开全部
指针是变量的类型,它也是变量呀,你上面不就是说的变量吗,指针也是普通变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式