- 什么叫分配内存?什么叫释放内存?
- 操作系统将某一块儿内存空间的使用权利分配给程序。
- 操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能再使用这一块儿内存空间,这叫释放内存。
- 程序将内存空间使用权利交还给操作系统,程序不再使用。
- 附注:释放内存不是把该内存内容清零。
变量为什么要初始化?
不初始化的话,则是垃圾值。详细说明系统是如何执行 int i = 5;这个语句的
1)VC++6.0 请求操作系统为i分配内存空间
2)操作系统会在内存中寻找一块儿空闲的区域,把该区域当做i来使用
3)VC++6.0 会把i和这块内存空间关联起来,今后对字母i操作,就是对这块儿空闲的区域操作。
4)把5存储到字母i所关联的内存空间
附注:所谓内存区域也就是内存的一块存储单元。请列出C语言的所有基本数据类型
int long int short int char float double在printf中int用%d,请问long int,char,double,float分别都用什么❓
类型 | 符号 |
---|---|
long | %ld |
char | %c |
double | %lf |
float | %f |
函数的优点是什么❓
1)避免重复性操作
2)有利于程序的模块化谈谈你对函数的理解
什么是指针,什么是地址?什么是指针变量?三者之间什么关系?
地址是内存单元的编号,指针就是地址,指针和地址是同一个概念。
指针变量是存放内存地址(内存单元编号)的变量。
指针变量和指针是2个完全不同的概念,只不过通常把指针变量简称为指针。写出静态变量和动态变量的异同。
- 相同点:
都需要分配内存 - 不同点:
静态变量
是由系统自动在栈中分配,自动释放,程序员无法在程序运行过程中手动分配 和释放。只有函数终止的时候,静态变量的存储空间就会被系统自动释放。
动态变量
由程序员手动分配,手动释放。程序员可以在程序运行的过程当中手动 分配 & 释放