三九宝宝网宝宝教育教学论文

C语言中存储单元有无的区别

03月15日 编辑 39baobao.com

[在c语言中语句和函数有什么区别]函数由函数头和函数体组成,通俗地讲函数头的格式为type 函数名(参数1,……) 注意括号中可以无参数,也可以有参数,函数名前的type为函数的返回类型,“)”后千万不能加“;”,因为它不是...+阅读

(1)从变量的生存期分,有动态存储和静态存储两种,动态存储即在调用函数时临时分配单元,静态存储则是程序整个运行时间内都存在。

动态存储:形式参数(本函数内有效); auto自动变量(本函数内有效);register寄存器变量(本函数有效)。

静态存储: 静态局部变量(本函数内有效);静态外部变量(本文件中有效

(2)C语言里malloc函数分配的空间属于动态存储区的范畴。正如上面提到的auto自动变量,通过malloc来分配空间的都是自动变量。在C++里明确分开了栈、和自由存储区。像自由变量里的局部变量(全局变量分配在“全局/静态存储区”)和函数都是存储在栈区。而通过malloc分配的空间在自由存储区。

C语言没有分那么细,但是在动态存储区内还是分栈和堆的,也就是,由malloc分配的空间在堆区;非malloc分配的局部变量,函数等在栈区;全局变量与静态变量在静态存储区。

C语言中存储单元与位有什么不同吗

存储单元 的计量单位是 字节,即 byte. 1 个 byte 可以存放 1 个 8 位 2进制数。

位 指2进制数位,即 bit, 中文翻译叫 字元,1 个字元 存放1位2进制数,即0或1。

一个 float 数占用 4字节,一个 double 数占用 8字节 , 一个 char 占用1字节。

用 sizeof() 可以计算变量 和 变量类型 占用的 存储单元。例如: sizeof(float) 得4, sizeof(double) 得8;

char str[]="abcdefg1234"; sizeof(str) 得 12. 计量单位是 字节 byte。

位运算: y= x>>2; 把 x 右移 2 位 再赋给 y. 这里的2 位,计量单位是 字元 bit。

在c语言中静态存储单元与动态存储单元有什么区别

char sz[5];就是静态的

char *psz = new char[5]就是动态的

静态的5一定要试常数不能使变量,而动态的则可以是随便的,可以是表达式也可以是常量或变量

因为静态的是编译完就分配好的,而动态的是在运行过程中才确定大小的;

比如我在程序中写char sz[5];那么运行过程中就无法改变这块内存,分配大小从开始到运行结束都始终是不变的

而如果我在程序中写

int i;

cin >> i;

char *psz = new char[i];

程序开始是没有分配大小的,因为这个值是未知的,等到我输入数值,他才知道该分配了多大,而你不能这样写

int i;

cin >> i;

char sz[i];

这样写是错误的,他会警告中括号里面的数字不是常数

而像这样的临时分配的内存必须要释放掉(C++中用delete而C中则是用free())

以下为关联文档:

c跟c语言的区别正式解答: 从语法上讲: 不严格的说C是C++的子集,也就是C++包含C语言的大部分语法.当然由于C++和C都有不同的版本(ANSI/ISO),各编译器对标准支持的程度也不一样.C++不一定能百分百...

C语言用数组存储大型数据的算法楼主一定懂c++吧?c++标准库里面有一个模板类叫 bitset<> 专门用来做位操作的。 你的问题用这个可以高效的解决,建立一个足够大的空间,比如8000个位 bitset<8000> 然后就简单了,...

C学习笔记一 C语言和汇编语言的区别C学习笔记(一) C语言和汇编语言的区别 2016-07-11 09:43 162人阅读 评论(0) 收藏 举报 分类: C学习笔记(13) 版权声明:本文为博主原创文章,未经博主允许不得转载。 C学习笔记(五) C语言...

C语言中char和const char的区别C 语言中char* 和const char*的区别: 一、含义的区别 char* 表示一个指针变量,并且这个变量是可以被改变的。 const char*表示一个限定不会被改变的指针变量。 二、模式的区...

C语言中运算符怎么存储//给你个例子,供参考 #include<stdio.h> int main() { int num,r; char op; scanf("%d%c%d",&r,&op,&num); printf("%d%c%d",r,op,num); switch(op) { case '+': r+=num; break;...

c语言中选择和投影的区别?1、关系的投影运算是数据库理论中的内容。c语言中没有相关的内容。 2、关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除...

c语言中字符串指针怎样实现对字符串的读取与存储比如char s[30]; 数组名s可以看作数组的首地址,可以直接对它进行操作; 或用一个char指针:char *p(注意:"字符串指针"没有这个说法,可以叫做指向字符数组的指针) p = s;或p = &s[0];用指...

c语言中声明和定义有什么区别如果是指变量的声明和定义: 从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。 对于下面的两句代码...

用C语言编写程序:将从键盘输入的数据存储到文件中再将存储的文用C语言编写程序:将从键盘输入的数据存储到文件中再将存储的文,编写一个程序循环提示从键盘输入数值找出这些数值的最大与最小:代码如下: #include<stdio.h> void read() { FILE...

推荐阅读
图文推荐