C中的局部变量和全局变量有什么区别
声明方面:在函数或块中声明的变量称为局部变量;在函数或块之外声明的变量称为全局变量
范围方面:局部变量变量的范围在声明它们的函数中可用;全局变量变量的范围在整个程序中都是可用的
访问方面:局部变量变量只能被声明它们的函数内的那些语句访问;全局变量整个程序中的任何语句都可以访问变量
生命周期方面:局部变量变量生命周期是在进入功能块时创建并在退出时销毁;全局变量在程序执行之前,变量的生命周期一直存在
存储方面:局部变量除非指定,否则变量存储在堆栈中;全局变量编译器决定变量的存储位置
什么是NULL指针
NULL用于指示指针未指向有效位置;理想情况下,如果在声明时不知道指针的值,则应将指针初始化为NULL;另外,当由它指向的内存在程序中间被释放时,我们应该使指针为NULL
什么是一个编程语言的保留字
保留字是指语言库中使用的一些关键字;这些关键字不能用来做其他的事情,比如说定义一个变量或者函数等等
引用和指针的区别
指针是一个实体,需要分配内存空间;引用只是变量的别名,不需要分配内存空间;引用在定义的时候必须进行初始化,并且不能够改变;指针在定义的时候不一定要初始化,并且指向的空间可变;(注:不能有引用的值不能为NULL);有多级指针,但是没有多级引用,只能有一级引用;指针和引用的自增运算结果不一样(指针是指向下一个空间,引用时引用的变量值加1);sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小;引用访问一个变量是直接访问,而指针访问一个变量是间接访问;使用指针前最好做类型检查,防止野指针的出现;引用底层是通过指针实现的;
作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;传引用的实质是传地址,传递的是变量的地址
C语言中的静态变量有什么用
声明为静态的变量称为静态变量; 静态变量在多个函数调用之间保留其值;使用静态变量是因为静态变量的作用域在整个程序中都是可用的; 因此可以在程序的任何位置访问静态变量;静态变量最初初始化为零;如果我们更新变量的值,则分配更新的值;静态变量用作所有方法共享的公共值;静态变量在内存堆中只初始化一次,以减少内存使用
C和C++的区别
C++是C的超集;C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制
C语言中的函数有什么作用
C语言函数用于避免在程序中一次又一次地重写相同的代码;C语言函数可以从程序的任何位置调用任意次数;当一个程序被划分为函数时,那么程序的任何部分都可以很容易地被跟踪;C语言函数提供了可重用性概念,即将大任务分解为小任务,从而使 C 程序更易于理解