C语言基础:变量详解

目录

一.了解变量:

1.变量的基本概念

2.变量的组成

二.变量的定义

1.变量如何定义

2.定义变量的注意事项

三.变量的使用

1.步骤说明

2.变量的分类

3.变量使用的注意事项

四.总结:


一.了解变量:

1.变量的基本概念

    变量: 在程序运行时,可以发生改变的数据对象。

    变量的本质其实就是相当于内存地址的一个编号(这个地址也是随机的),好比去食堂吃饭,食堂阿姨会给你一个号牌,我们可以根据这个号牌来领饭.其实在计算机的内存中也是这样的,可以根据这个变量的内存地址编号来找的对应的内容

2.变量的组成

  • 变量的组成: 变量由数据类型、变量名、分号组成。
  • 数据类型: 可以是整型、浮点型、字符型,也可以是布尔型
  • 变量名: 命名是有规范的,变量名可以包含数字、字符、下划线。但不能以数字开头,当然不能是关键字,比如int double等等。

二.变量的定义

1.变量如何定义

定义变量的格式: 变量类型  变量名列表 ;

示例代码:

int    i ;
double d ;
float  f ;

  

2.定义变量的注意事项

  • C语言变量必须是“先定义,后使用”。
  • 变量名列表是一个或多个变量序列,变量之间用逗号(,)隔开,最后要用分号(;)结束。

   示例代码:

int a,b,c;// 多个变量

如果多个不同类型的变量列表一起定义,变量列表是要求变量类型要一致的,不然就要分开定义.

  示例代码:

int a,b,c;    // 正确
double d,e,f; // 正确
int w,e,r,double t ,y; //错误做法

三.变量的使用

1.步骤说明

变量的使用分为三个步骤:先定义,后赋值,再使用.

示例代码:

//方法1
// 第一步:变量定义
int num;

// 第二步:变量赋值
num=10;

// 第三步:使用变量
printf("%d",num);


//方法2
//当然也有简便写法,一步到位.
int num=10;
printf("%d",num);

2.变量的分类

局部变量:

局部变量一共有三个地方。

  1. 主函数开始地方内部定义
  2. 带有形参的函数内部
  3. 复合语句的代码块中

作用域:就是变量有效的地方

生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

局部函数的作用域只有在本函数内有效, 主函数开始的地方定义的局部变量作用域就是主函数体内部,

带有形参的函数内部定义的局部变量的作用就是带有形参函数内部,  最后就是复合语句中局部变量的作用域就是代码块内部。

这里就看一下代码吧

例子1.主函数开始地方内部定义

示例代码:

int main() {
	int a = 10;
	printf("%d", a);

	return 0;
}

在这个例子中,局部变量a ,此时的作用域就是整个main方法。

例子2.带有行参的函数内部

示例代码:

#include<stdio.h>

int add(int x,int y)
{
    int sum=x+y;//局部变量
    return sum;

}

这个例子中,变量x,变量y其实都是局部变量,当然变量sum也是局部变量.这三个局部变量的作用域就是这个形参函数内部。

例子3:复合语句的代码块中

int main() {
	int j = 10;
	int k = 20;
	{
		int c = j + k;//局部变量
		printf("%d", c);
	}
	return 0;
}

这个是局部变量的最后一个例子了,这里的变量c是局部变量,作用域就是代码块内部(复合语句)。

下面就就介绍一下全局变量

全局变量:

定义:全局变量就是整个程序体都可以访问的数据对象

  1. 全局变量作用域:整个工程文件。
  2. 生命周期:自程序创建到程序结束。
  3. 全局变量创建的地方:main方法外部。

示例代码:

#include<stdio.h>
int a = 10;
int main() {

	printf("%d", a);
}

那么局部变量与全局变量的区别在哪里?

区别:

  1. 局部变量使用前必须要初始化,而全局变量使用可以不初始化,如果是整型默认是0,浮点型就是0.0,字符型就是'\0'。
  2. 全局变量的生命周期比局部变量长,作用域更大。
  3. 如果局部变量与全局变量同名,主程序体(main)会优先使用局部变量->局部变量优先级比全局变量高
  4. 存放的地方不一样,局部变量创建会存放在栈上,全局变量则是存放在全局数据区。

其实,在变量分类中,还有一种特殊的变量类型,下面我们就来介绍一下静态变量吧.

静态变量:

  1. 定义:使用static关键字修饰的变量。
  2. 作用域:当前定义它的文件。
  3. 生命周期:与程序的生命周期相同。

静态变量创建的地方

  1. main方法开始的地方创建。
  2. 函数定义的内部创建。
  3. main方法外部创建。

例子1 main方法开始的地方

int main()
{
    static int a =10;//静态变量
    printf("%d",a);


}

在这个例子中 变量a是静态变量,如果没有static关键字进行修饰就是局部变量,这个地方的程序生命周期变长和作用域变大了。

例子2 函数定义的内部创建

#include<stdio.h>

void  add()
{
    static a=10;// 静态变量
}

这个例子中的变量a是静态变量,如果这个函数被调用结束的话,这个静态变量的生命周期不会因为函数销毁而销毁,会存放在静态区保存下来。

例子3 main方法外部创建

#include<stdio.h>

static int a=10;//默认是0 

int main()
{
return 0;
}

这个例子中a是静态变量.作用域是当前定义的程序文件,生命周期和程序体生命周期一样。

静态变量的特点

  1. 只要是static修饰的变量都不用初始化,都会有默认值,整型是0 ,浮点型是0,字符型是'\0'。
  2. 在函数定义中,使用static修饰的变量,生命周期不会随函数调用而销毁,会在静态区保存下来,当整个程序结束会释放。
  3. 静态变量创建会存放在静态区中。

3.变量使用的注意事项

  • 一定要先使用后赋值,如果是全局变量就不用赋值。
  • 同一工程文件中,局部变量全局变量静态变量的名称不能重复。
  • 变量名的命名一定不要错(开头数字或者自接用关键词命名)。

四.总结:

        至此就到尾声了,本文介绍了什么是变量, 变量的如何定义 以及变量的使用等内容。如有错误或不足欢迎各位大佬积极评论。

猜你喜欢

转载自blog.csdn.net/code_beihuan/article/details/134542444
今日推荐