C语言变量名与内存空间有什么逻辑关系
1个回答
展开全部
当你在程序这样声明一个变量的是:
char a;
那么编译的时候,编译器会在内存中特定的位置给你这个变量申请一块空间用来存你这个变量,根据变量的作用域不同会在不同的地址,比如全局变量就会在在数据段,而函数中的局部变量一般是在堆栈中,而要是malloc就会在堆中申请新的区域。在编译的时候编译器会保存一个变量名的表,这里记录了每个变量的地址。当你使用一个变量的时候,相当于就是在这个地址的值操作了。
你可以找相关的书籍学习一下这方面的知识
char a;
那么编译的时候,编译器会在内存中特定的位置给你这个变量申请一块空间用来存你这个变量,根据变量的作用域不同会在不同的地址,比如全局变量就会在在数据段,而函数中的局部变量一般是在堆栈中,而要是malloc就会在堆中申请新的区域。在编译的时候编译器会保存一个变量名的表,这里记录了每个变量的地址。当你使用一个变量的时候,相当于就是在这个地址的值操作了。
你可以找相关的书籍学习一下这方面的知识
追问
可否浅显一点,新手刚学指针,这些概念在书上看不明白。能否这样理解:变量名就是变量的地址?
追答
你可以这样理解,变量代表内存中一块区域,指针是可以存储这块区域的地址的变量
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询