getch()和getche()之间有什么区别
getch()函数从键盘上读取一个字符。它不使用任何缓冲区,所以输入的数据不会显示在输出屏幕上
getche()函数从关键词中读取一个字符,但数据会显示在输出屏幕上。按Alt+f5可以看到输入的字符
在c语言中如何产生随机数
rand 函数就是用来产生随机数的,它可以产生任意从0开始的整数
malloc申请的存储空间能用delete释放吗
不能,malloc /free主要为了兼容C,new和delete 完全可以取代malloc /free的。malloc /free的操作对象都是必须明确大小的。而且不能用在动态类上。new 和delete会自动进行类型检查和大小,malloc/free不能执行构造函数与析构函数,所以动态对象它是不行的。当然从理论上说使用malloc申请的内存是可以通过delete释放的。不过一般不这样写的。而且也不能保证每个C++的运行时都能正常。
什么是换行转义序列
换行转义序列用"\n"表示。它在输出屏幕上插入一个新行
能不能在整型中存放32768这个数
整数类型可以存放从-32768~32767之间的任何数值。但是32768不在这个范围之内。这个时候modifier是我们需要的东西。Long Int数据类型就可以存放这个数。
__stdcall和__cdecl的区别
__stdcall是函数恢复堆栈,只有在函数代码的结尾出现一次恢复堆栈的代码;在编译时就规定了参数个数,无法实现不定个数的参数调用;__cdecl是调用者恢复堆栈,假设有100个函数调用函数a,那么内存中就有100端恢复堆栈的代码;可以不定参数个数;每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用__stacall函数大
在丹尼斯-里奇之后,谁是设计C语言的主要贡献者
Brain Kernighan
在c语言中可以自定义头文件吗
是的, 当然可以, 定义完头文件以后可以存放函数的原型。使用的时候, 用include来包含这个文件的名字。
在C中用const 能定义真正意义上的常量吗?C++中的const呢
不能。c中的const仅仅是从编译层来限定,不允许对const 变量进行赋值操作,在运行期是无效的,所以并非是真正的常量(比如通过指针对const变量是可以修改值的),但是c++中是有区别的,c++在编译时会把const常量加入符号表,以后(仍然在编译期)遇到这个变量会从符号表中查找,所以在C++中是不可能修改到const变量的。
补充:
1)c中的局部const常量存储在栈空间,全局const常量存在只读存储区,所以全局const常量也是无法修改的,它是一个只读变量。
2)这里需要说明的是,常量并非仅仅是不可修改,而是相对于变量,它的值在编译期已经决定,而不是在运行时决定。
3)c++中的const 和宏定义是有区别的,宏是在预编译期直接进行文本替换,而const发生在编译期,是可以进行类型检查和作用域检查的。
4)c语言中只有enum可以实现真正的常量。
5)c++中只有用字面量初始化的const常量会被加入符号表,而变量初始化的const常量依然只是只读变量。
6)c++中const成员为只读变量,可以通过指针修改const成员的值,另外const成员变量只能在初始化列表中进行初始化。
本文介绍了C语言中的基本概念,包括getch()和getche()的区别,如何生成随机数,malloc与delete的使用规范,换行转义序列的含义,整型数值范围,__stdcall与__cdecl的调用约定,以及C语言和C++中const常量的差异。
7516

被折叠的 条评论
为什么被折叠?



