一.C语言中标识符(变量)的命名规则
(1)可以由数字、字母、下划线_组成
(2)不能以数字开头
(3)不能是关键字
(4)区分大小写
二.在C语言中定义常量的方法及其区别
1.使用#define宏定义:#define LENGTH = 10
2.使用const关键字:const int LENGTH = 10 或 int const LENGTH = 10
3.使用枚举:enum { PI = 3.14159 };
这些方法之间的主要区别在于安全性和作用域。使用#define的常量没有类型,而使用const关键字的常量是有类型的。 使用const是更安全和推荐的做法,因为它提供了类型检查,而#define则可能导致潜在的错误。此外,#define是在预处理阶段进行文本替换的,可能会导致一些意外的行为,而const关键字是在编译阶段处理的。
三.变量的声明和定义的区别
为变量分配地址和存储空间的称为定义,不分配地址的称为声明。
一个变量可以在多个地方声明,但是只在一个地方定义。加入 extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。
四.局部变量能否和全局变量重名
能,局部会屏蔽全局。要用全局变量,需要使用 ":: "
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
五.全局变量和局部变量的区别
(1)作用域不同:全局变量的作用域为整个程序,局部变量的作用域为当前语句块;
(2)内存储存方式:全局变量存储在全局数据区,局部变量存储在栈上;
(3)生命周期不同:全局变量的生命周期和程序一样,局部变量随着语句块的结束而结束;
(4)当局部变量与全局变量同名时,优先使用局部变量;
六.用变量a给出下面的定义
a) 一个整型数;
b)一个指向整型数的指针;
c)一个指向指针的指针,它指向的指针是指向一个整型数;
d)一个有10个整型的数组;
e)一个有10个指针的数组,该指针是指向一个整型数;
f)一个指向有10个整型数数组的指针;
g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数;
h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
a)int a
b)int *a;
c)int **a;
d)int a[10];
e)int *a [10];
f) int a[10], *p=a;
g)int (*a)(int)
h) int( *a[10])(int)