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);  
}
相关文章
|
4月前
|
存储 C语言
C语言数据类型、变量和运算符以及printf相关问题
C语言数据类型、变量和运算符以及printf相关问题
|
2月前
|
存储 C语言
【c语言】数据类型和变量
本文介绍了C语言中的数据类型和变量。数据类型分为内置类型和自定义类型,内置类型包括字符型、整型、浮点型等,每种类型有不同的内存大小和取值范围。变量分为全局变量和局部变量,它们在内存中的存储位置也有所不同,分别位于静态区和栈区。通过示例代码和图解,详细阐述了这些概念及其应用。
47 1
|
2月前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
2月前
|
存储 C语言
C语言:设置地址为 0x67a9 的整型变量的值为 0xaa66
在C语言中,可以通过指针操作来实现对特定地址的访问和赋值。要将地址为 0x67a9 的整型变量值设为 0xaa66,可以先定义一个指向该地址的指针,并通过该指针对该内存位置进行赋值操作。需要注意的是,直接操作内存地址具有一定风险,必须确保地址合法且可写。代码示例应考虑字节序及内存对齐问题。
|
2月前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
2月前
|
存储 C语言
初识C语言:常量与变量中寻找数据类型
初识C语言:常量与变量中寻找数据类型
|
3月前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
3月前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
2月前
|
C语言 C++
实现两个变量值的互换[C语言和C++的区别]
实现两个变量值的互换[C语言和C++的区别]
24 0
|
3月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
106 4