C语言中的合法和非法声明与初始化
问题
在进行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语言中合法和非法声明和初始化的示例。
示例
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<stdio.h>
void main ( ){
int a,b;
a= 10, b = 20;
printf (" %d", a<b);
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 <stdio.h>
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;
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP