问题
在进行C编程时,提到一些合法和非法的声明和初始化?
在讨论合法和非法的声明和初始化之前,我们先看看如何声明和初始化C 中的变量。
变量声明
以下是变量声明的语法 -
语法
Datatype v1,v2,… vn;
登录后复制
其中 v1、v2、...vn 是变量的名称。
例如,int sum;
float a,b;
登录后复制
变量可以通过两种方式声明 -
-
局部声明
-
全局声明
“局部声明”是在主块内声明一个变量,并且其值在该块内可用。
“全局声明”是在主块内声明一个变量在主块之外,其值在整个程序中都可用。
例如,
int a, b; /* global declaration*/
main ( ){
int c; /* local declaration*/
- - -
}
登录后复制
变量初始化
以下是变量初始化的语法 -
语法
Datatype v1=number;
登录后复制
例如,
int sum=0;
float a=1,b=4.5;
登录后复制
使用数据类型来声明变量,我们可以在声明时初始化值。因此,在初始化和声明值时,我们需要遵循规则
让我们看看 C 中合法和非法声明和初始化的一些示例。
示例 strong>
-
Char a=65;
这是一个合法的语句,因为我们可以用常量初始化变量。
-
Static int p=20, q=p*p
这是一条非法语句,因为静态变量必须用常量初始化,但这里 q 没有初始化
-
Double x=30 *PI
这是一个合法的语句,因为这里我们用常量表达式初始化了一个变量。
-
双径[]={1,PI/2, PI, 2*PI/2}
这是一个合法的语句,这里我们初始化数组元素为常量。
示例程序
带有合法声明和初始化−
现场演示 p>
#include
void main ( ){
int a,b;
a= 10, b = 20;
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;//illegal initialization
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语言中,合法和非法的声明和初始化的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!