C语言3 变量

简介: C语言3 变量

1. 变量基础概念

变量是程序中用于存储和表示数据的名称。在C语言中,变量具有以下基本特点和规则:

变量名由字母、数字和下划线组成,不能以数字开头。

变量名不能与C语言的关键字重名。

变量在程序运行时占据内存空间,有一个唯一的地址。


2. 变量的说明方式

在使用变量之前,必须对其进行声明,声明的一般形式如下:

<存储类型> <数据类型> <变量名>;


存储类型:

C语言中的存储类型包括:`auto`、`register`、`static`、`extern`。

auto:默认的存储类型,变量在函数内部声明时,默认为 `auto` 类型,存储在堆栈中。


auto int x;


register:建议编译器将变量存储在CPU的寄存器中,以加快访问速度,不允许取地址。


register int count;


static:静态存储类型,用于声明静态变量,可以在函数内外使用。

 函数内的静态变量会保留其值,不会在函数调用结束时销毁。

 函数外的静态变量只能在声明它的文件中访问。


static int counter = 0;  // 函数内静态变量
static int globalVar;    // 函数外静态变量,默认初始化为0

extern:用于声明在其他文件中定义的全局变量,告诉编译器该变量在其他地方定义,不分配内存空间。


extern int globalVar;  // 声明其他文件中定义的全局变量


数据类型:

C语言中的数据类型包括基本数据类型(如 `int`、`float`、`char`)、指针类型、数组类型、结构体类型等。

int age = 30;
float pi = 3.14;
char grade = 'A';


3. 变量的存储空间和地址

变量在内存中占据一定的存储空间,其大小由其数据类型决定。

每个变量都有一个唯一的内存地址,可以通过取地址运算符 `&` 来获取变量的地址。

int num = 10;
printf("变量 num 的地址:%p\n", &num);


4. 示例程序

下面是一个结合了各种存储类型和数据类型的示例程序:

#include <stdio.h>
 
int globalVar = 100;  // 全局变量
 
void func() {
    auto int x = 5;    // 自动变量,默认存储类型为 auto
    register int y = 10;  // 寄存器变量,尝试存储在寄存器中
    static int z = 0;  // 静态变量,默认值为0,保留在内存中
 
    printf("Auto variable x: %d\n", x);
    printf("Register variable y: %d\n", y);
    printf("Static variable z: %d\n", z);
 
    z++;  // 静态变量 z 保留上次调用的值
}
 
int main() {
    extern int globalVar;  // 引用外部定义的全局变量
 
    printf("Global variable globalVar: %d\n", globalVar);
 
    func();  // 调用函数
 
    return 0;
}


目录
相关文章
|
7天前
|
存储 C语言
C语言数据类型、变量和运算符以及printf相关问题
C语言数据类型、变量和运算符以及printf相关问题
|
1天前
|
存储 编译器 C语言
【C语言篇】C语言数据类型和变量
我们使⽤强制类型转换都是万不得已的时候使用,如果不需要强制类型转化就能实现代码,这样⾃然更好的.
|
11天前
|
C语言
C语言数据类型和变量
C语言数据类型和变量
19 5
|
4天前
|
存储 C语言 容器
C语言中的变量作用域
C语言中的变量作用域
|
2月前
|
存储 C语言
二:《初学C语言》— 数据类型和变量
本篇文章详细介绍了C语言的数据类型和变量,数据类型是C语言中最基础的内容,也是必须要清楚的知识点
43 8
二:《初学C语言》—  数据类型和变量
|
1月前
|
C语言
C语言15---在VC中变量的注意点和变量的注意细节
C语言15---在VC中变量的注意点和变量的注意细节
|
2月前
|
存储 编译器 C语言
C语言数据类型和变量(二)
C语言数据类型和变量(二)
|
2月前
|
存储 编译器 C语言
C语言数据类型和变量(一)
C语言数据类型和变量(一)
|
2月前
|
C语言
【C语言】:详解函数指针变量,函数指针数组及转移表
【C语言】:详解函数指针变量,函数指针数组及转移表
31 2
|
1月前
|
C语言
C语言16---变量的注意细节
C语言16---变量的注意细节