C 语言中合法和非法的声明及初始化
cserver side programmingprogramming更新于 2025/8/10 0:07:17
问题
请列举一些 C 语言编程中合法和非法的声明及初始化?
在讨论合法和非法语句之前,让我们先看看如何在 C 语言中声明和初始化变量。
变量声明
以下是变量声明的语法 −
语法
Datatype v1,v2,… vn;
其中 v1、v2、…vn 是变量的名称。
例如,int sum;
float a,b;
变量可以通过两种方式声明 −
局部声明
全局声明
"局部声明"是在主代码块内声明一个变量,其值在该代码块内可用。
"全局声明"是在主代码块外声明一个变量,其值在整个程序范围内可用。
例如,
int a, b; /* 全局声明*/
main ( ){
int c; /* 局部声明*/
- - -
}
变量初始化
以下是变量初始化的语法 −
Syntax
Datatype v1=number;
例如:
int sum=0;
float a=1,b=4.5;
使用数据类型声明变量,我们可以在声明时初始化其值。因此,在初始化和声明值时,我们需要遵循以下规则。
让我们看一些 C 语言中合法和非法声明及初始化的示例。
示例
Char a=65;
这是一个合法的语句,因为我们可以用常量初始化变量。
Static int p=20, q=p*p
这是一个非法的语句,因为静态变量必须用常量初始化,但这里 q 没有用常量初始化。
Double x=30 *PI
这是一个合法的语句,因为这里我们用常量表达式初始化了一个变量。
Double Diameter []={1,PI/2, PI, 2*PI/2
这是一个合法的声明,这里我们用常量初始化了数组元素。
示例程序
包含合法声明和初始化−
#include
void main ( ){
int a,b;
a= 10, b = 20;
printf (" %d", a
printf (" %d", a<=b);
printf (" %d", a>b);
printf (" %d", a>=b);
printf (" %d", a = =b);
printf (" %d", a ! =b);
}
输出
1 1 0 0 0 1
示例
包含非法声明和初始化 −
#include
int main(){
static int p=20, q=p*p;//非法初始化
printf("%d%d",p,q);
return 0;
}
输出
error will be occurred
error: initializer element is not constant
static int p=20, q=p*p;
相关文章
用 C 语言解释 if-else 语句
用 C 语言解释 else-if 梯形语句
使用 C 编程语言区分模数和除法?
解释 C 中文件中使用的函数 fread() 和 fwrite()
解释 C 编程中的 malloc 函数
使用 C 语言编程实现十进制到二进制的转换
解释 C 语言中的常量类型限定符
用一个例子解释 C 中的 volatile 和 restrict 类型限定符
解释 C 语言中指针的概念
解释 C 语言中指向指针的指针和 void 指针的概念?
打印
下一节:编写一个 C 程序来显示结构体成员的大小和偏移量 ❯❮ 上一节:编写一个 C 程序,使用 while 循环计算句子的平均单词长度