C语言变量

简介: C语言变量

C 变量

变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。基于前一章讲解的基本类型,有以下几种基本的变量类型:

在这里插入图片描述

C 语言也允许定义各种其他类型的变量,比如枚举、指针、数组、结构、共用体等等,这将会在后续的章节中进行讲解,本章节我们先讲解基本变量类型。

定义变量的规则

  • 一个变量名称可以有字母,数字和下划线。
  • 变量名称只能以字母和下划线开头,但是它不能以数字开始。
  • 变量名称内不允许有空格。
  • 变量名称不能是任何保留字或关键字,例如:int,float等

有效的变量名:

int a;  
int _ab;  
int a30;

无效的变量名:

int 2;  
int a b;  
int long;

C语言的变量类型

C语言中有很多变量类型:

  • 局部变量
  • 全局变量
  • 静态变量
  • 自动变量
  • 外部变量

1.局部变量

在函数或块中声明的变量称为局部变量。它必须在块的开始处声明。

void function1(){  
    int x=10;//local variable  
}

在使用局部变量之前必须要初始化它。

2.全局变量

在函数或块之外声明的变量称为全局变量。任何函数都可以改变全局变量的值。它可用于所有函数。它必须在块的开始处声明。

int value=20;// 全局变量
void function1(){  
    int x=10;// 局部变量
}

3.静态变量

用static关键字声明的变量称为静态变量。它在多个函数调用之间保留其值。

void function1(){  
    int x = 10; // 局部变量
    static int y = 10; // 静态变量
    x = x + 1;  
    y = y + 1;  
    printf("%d,%d", x, y);  
}

如果多次调用此函数,局部变量在每次函数调用打印相同的值,例如:11,11,11等等。 但静态变量将打印每个函数调用中递增的值。例如:11,12,13等。

4.自动变量

默认情况下,在块内声明的C语言中的所有变量都是自动变量。通过我们可以使用auto关键字显式声明自动变量。

void main(){  
    int x=10;//local variable (also automatic)  
    auto int y=20;//automatic variable  
}

5.外部变量

我们可以通过使用外部变量来共享多个C源文件中的变量。 要声明一个外部变量,需要使用extern关键字。
源文件:myfile.h 代码如下 -

extern int x = 10; // 外部变量 (也可叫全局变量)

源文件:program1.c 代码如下 -

#include "myfile.h"  
#include <stdio.h>  
void printValue(){  
    printf("Global variable: %d", global_variable);  
}
相关文章
|
2天前
|
存储 编译器 C语言
C语言数据类型和变量(二)
C语言数据类型和变量(二)
|
7天前
|
存储 C语言
二:C语言-数据类型和变量
本篇文章详细介绍了C语言的数据类型和变量,数据类型是C语言中最基础的内容,也是必须要清楚的知识点
23 8
|
2天前
|
存储 编译器 C语言
C语言数据类型和变量(一)
C语言数据类型和变量(一)
|
4天前
|
C语言
【C语言】:详解函数指针变量,函数指针数组及转移表
【C语言】:详解函数指针变量,函数指针数组及转移表
10 2
|
1天前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
5 0
|
22天前
|
存储 C语言
C语言学习记录——7000+字长文-复习&学习指针(指针、地址、指针变量、指针与数组、指针与函数、指针数组、多级指针)二
C语言学习记录——7000+字长文-复习&学习指针(指针、地址、指针变量、指针与数组、指针与函数、指针数组、多级指针)二
16 1
|
22天前
|
存储 C语言
C语言学习记录——7000+字长文-复习&学习指针(指针、地址、指针变量、指针与数组、指针与函数、指针数组、多级指针)一
C语言学习记录——7000+字长文-复习&学习指针(指针、地址、指针变量、指针与数组、指针与函数、指针数组、多级指针)一
14 1
|
1天前
|
存储 C语言
C语言中的变量与函数详解
C语言中的变量与函数详解
3 0
|
1天前
|
存储 C语言
C 语言变量详解
C 语言变量详解
7 0
|
3天前
|
C语言
【C语言刷题系列】交换两个变量的三种方式
【C语言刷题系列】交换两个变量的三种方式