【记录】C语言int a 也会分配内存

转载 2013年12月05日 20:42:34
int a;和int a[x]这两个语句都会分配内存还是第二个会分配?
哪里能找到介绍程序设计语言在物理层的操作的书?比如我问的问题,好象程序设计的书上都不会讲到,还有就是
int a=4;
int b;
b=a;
这里的b=a的b,系统是怎么找到b的存储位置的?


回答:

第一个问题:
void fun() {
int a;
int b[x];
}
当进入函数fun的时候,程序会为a和b在栈中分配实际的内存。当函数返回的时候,栈指针会回指,这样空间就释放了。这不同于在堆中分配内存。

第二个问题:
当定义int a=123;的时候,系统中产生了两个值,一个是123,即a的值,也称为右值,另一个是左值左值其实就是a的地址。系统是通过左值访问123的。

很多书都有讲,数据结构,汇编,C语言,你都学了就会明白。
推荐看<<The C Programming language>>这本书。

http://zhidao.baidu.com/link?url=uuTR80tJaOun-Xgohq9rqUnsvdlc9Ai45sWHyx-Np64cjcauQaC-d_wC7Xh5aL_G9wfjeX9AIFqn_lYLjf5EX_

C语言中内存分配

在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。 第1节主要介绍内存管理基本概念,重...
  • youoran
  • youoran
  • 2013年09月03日 15:50
  • 98802

【记录】C语言int a 也会分配内存

int a;和int a[x]这两个语句都会分配内存还是第二个会分配? 哪里能找到介绍程序设计语言在物理层的操作的书?比如我问的问题,好象程序设计的书上都不会讲到,还有就是 int a=4; int...
  • brk1985
  • brk1985
  • 2013年12月05日 20:42
  • 760

c++ 内存申请

问题: 1:动态申请内存 如下: int *d = new int【10】; delete []d; 在用malloc()申请内存时,最好多申请一个单位的内存,不然会在free()时会出错,...
  • u011327981
  • u011327981
  • 2015年12月24日 17:58
  • 488

C语言拾遗:(int)a、&a、(int)&a、(int&)a的区别

(int)a、&a、(int)&a、(int&)a的区别,很偏僻的题  #include  #include #include #include using namespace std; int...
  • top_along
  • top_along
  • 2014年04月24日 10:28
  • 510

c语言数组初始化——int a[N] = {0};

初学数组,以华科的《c
  • withSakura
  • withSakura
  • 2014年05月11日 23:59
  • 3007

malloc动态申请内存

1:malloc概述 malloc(num)动态申请num字节的内存空间,函数申请成功返回内存的起始地址(void型),申请不成功返回NULL指针,malloc不初始化内存空间;calloc(type...
  • Golf_research
  • Golf_research
  • 2016年07月21日 00:36
  • 2577

建立内存的动态分配

void *malloc(unsigned int size)  //分配一个长度为size的连续空间 volid *calloc(unsigned n,unsigned size) //分配一个n*...
  • sinat_38816924
  • sinat_38816924
  • 2017年09月16日 00:00
  • 247

C语言中,"int* a, b, c;" 是正确写法吗?

有以下的C语言代码int* a, b, c; int *a, *b, *c; int *a, b, c;其中哪些语句是等价的? 哪些语句又是指针的正确写法?对于这些问题,相信一开始学习指针的同学都有...
  • thinkerleo1997
  • thinkerleo1997
  • 2017年06月30日 11:36
  • 449

内存分配函数(C语言)

C 标准函数库提供了许多函数来实现对堆上内存管理 malloc函数:malloc函数可以从堆上获得指定字节的内存空间(必须初始化) free函数:释放内存,防止内存泄露 calloc函数:与 m...
  • u014427196
  • u014427196
  • 2016年09月18日 02:10
  • 1036

C++中申请内存的正确方法

申请内存的方法不合理: int *GetArray( int n )   {   int *p = new int[n];   for ( int i = 0; i {     p[i] = i;  ...
  • diligentcat
  • diligentcat
  • 2011年08月31日 22:42
  • 1192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【记录】C语言int a 也会分配内存
举报原因:
原因补充:

(最多只允许输入30个字)