-
2021-05-20 17:52:55
C语言 的 变量
变量是内存位置的名称。它用于存储数据。其值可以更改,可以重复使用多次。
它是通过符号表示内存位置的方法,以便可以容易识别。
我们来看一下声明一个变量的语法:
type variable_list;
声明变量的例子如下:
int a;
float b;
char c;
这里,a,b,c是变量,它们分别对应:int,float,char是数据类型。
我们还可以在声明变量时提供值,如下所示:
int a=10,b=20; // 同时声明两个整数类型的变量,并为它们分别赋值
float f=20.8;
char c='A';
定义变量的规则
一个变量名称可以有字母,数字和下划线。
变量名称只能以字母和下划线开头,但是它不能以数字开始。
变量名称内不允许有空格。
变量名称不能是任何保留字或关键字,例如: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
void printValue(){
printf("Global variable: %d", global_variable);
}
更多相关内容 -
C语言 没有变量名的变量声明和使用
2021-05-20 10:28:20//没有变量名的变量//作者:nuaazdh//时间:2011年12月2日#includetypedef struct st1{//结构体1char a; //成员achar b; //成员b}st1;typedef struct st2{//结构体2st1; //注意这里没有声明变量名int s;}st2,*st2p;...//没有变量名的变量
//作者:nuaazdh
//时间:2011年12月2日
#include
typedef struct st1{//结构体1
char a; //成员a
char b; //成员b
}st1;
typedef struct st2{//结构体2
st1; //注意这里没有声明变量名
int s;
}st2,*st2p;
void main()
{
st2 s2;//结构体2 的变量
st2p p;//结构体2 的指针
char *tmp;//char *指针
printf("sizeof(st1)=%d\n",sizeof(st1));//输出2
printf("sizeof(st2)=%d\n",sizeof(st2));//输出8,说明st2中含有st1的空间
s2.a='C';//可以对st2中的成员a赋值
s2.b='S';
p=(st2p)malloc(sizeof(st2));//为p申请空间
p->a='D';//通过指针给st2的成员a赋值
p->b='N';
tmp=(char *)p;//通过char *型指针访问结构体2空间
printf("%c\n",*tmp);//输出 D
printf("%c\n",s2.a);//输出 C
printf("%c\n",s2.b);//输出 S
printf("%c\n",p->a);//输出 D
printf("%c\n",p->b);//输出 N
}
/*
本例可以看出,在st2中声明 st1后,st1的成员便原封不动地拷贝到了
st2中,这样省去了通过 "st2变量名.st1变量名.st1成员名"来对st2中
st1变量名成员的访问的麻烦。可见 C语言 代码是多么自由啊。
*/
运行结果:
-
C语言变量
2021-05-20 16:19:28本篇文章帮大家学习c语言变量,包含了C语言变量使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。变量是内存位置的名称。它用于存储数据。其值可以更改,可以重复使用多次。它是通过...本篇文章帮大家学习c语言变量,包含了C语言变量使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。
变量是内存位置的名称。它用于存储数据。其值可以更改,可以重复使用多次。
它是通过符号表示内存位置的方法,以便可以容易识别。
我们来看一下声明一个变量的语法:
type variable_list;
声明变量的例子如下:
int a;
float b;
char c;
这里,a,b,c是变量,它们分别对应:int,float,char是数据类型。
我们还可以在声明变量时提供值,如下所示:
int a=10,b=20; // 同时声明两个整数类型的变量,并为它们分别赋值
float f=20.8;
char c='A';
定义变量的规则
一个变量名称可以有字母,数字和下划线。
变量名称只能以字母和下划线开头,但是它不能以数字开始。
变量名称内不允许有空格。
变量名称不能是任何保留字或关键字,例如: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
void printValue(){
printf("Global variable: %d", global_variable);
}
-
第七章 C语言函数_C语言全局变量和局部变量
2022-02-21 17:27:57局部变量 定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。...3) 可以在不同的函数中使用相同的变量名,它们表示不同的数据,分配局部变量
定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。
几点说明:
1) 在 main 函数中定义的变量也是局部变量,只能在 main 函数中使用;同时,main 函数中也不能使用其它函数中定义的变量。main 函数也是一个函数,与其它函数地位平等。
2) 形参变量、在函数体内定义的变量都是局部变量。实参给形参传值的过程也就是给局部变量赋值的过程。
3) 可以在不同的函数中使用相同的变量名,它们表示不同的数据,分配不同的内存,互不干扰,也不会发生混淆。
4) 在语句块中也可定义变量,它的作用域只限于当前语句块。全局变量
在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件,包括 .c 和 .h 文件。例如:
a、b、x、y 都是在函数外部定义的全局变量。C语言代码是从前往后依次执行的,由于 x、y 定义在函数 func1() 之后,所以在 func1() 内无效;而 a、b 定义在源程序的开头,所以在 func1()、func2() 和 main() 内都有效。
【示例2】根据长方体的长宽高求它的体积以及三个面的面积。
运行结果:
Input length, width and height: 10 20 30↙
v=6000, s1=200, s2=600, s3=300
根据题意,我们希望借助一个函数得到三个值:体积 v 以及三个面的面积 s1、s2、s3。遗憾的是,C语言中的函数只能有一个返回值,我们只能将其中的一份数据,也就是体积 v 放到返回值中,而将面积 s1、s2、s3 设置为全局变量。全局变量的作用域是整个程序,在函数 vs() 中修改 s1、s2、s3 的值,能够影响到包括 main() 在内的其它函数。 -
C语言变量的命名规则
2021-05-18 10:10:54C语言变量的命名规则C语言是一门通用计算机编程语言,应用广泛。下面小编整理了C语言变量的命名规则,希望对大家有帮助!1)命名应当直观且可以拼读,可望文知意,便于记忆和阅读。标识符最好采用英文单词或其组合,不... -
「C语言」常量和变量的表示、应用和变量命名规则
2021-05-20 11:59:08在基本数据类型中,常量可分为整型常量、实型常量、符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下:目录:一、常量二、C语言标识符三、变量四、变量命名规则附录:ASCII码表一、常量1.... -
c语言关于变量的定义
2021-05-18 14:09:28C语言变量的定义和声明有什么不同?C语言中的变量定义是什么?变量的声明是什么?区别又是怎样的?变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。 变量声明:用于向程序... -
C语言全局变量和局部变量总结
2018-08-28 15:01:10③可以在不同的函数中使用相同的变量名,它们表示不同的数据,分配不同的内存,互补干扰,也不会发生混乱。 ④在语句块(由一对{}包含的若干条语句)中也可以定义变量,它的作用域只限于当前的语句块。 ... -
变量的命名规则(C语言)
2020-02-26 19:06:38变量的命名规则 1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。 标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,...例如变量名MaxVal 就比MaxValueUntilOverflow 好... -
深入探讨C语言中局部变量与全局变量在内存中的存放位置
2021-05-19 06:00:39C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register)1.局部变量和全局变量在讨论函数的形参变量时曾经提到,形参变量只在被调用期间才分配内存单元,调用结束立即释放。这一点表明形参变量只有在... -
C语言:局部变量与全局变量
2021-01-14 16:42:581.形参与实参C语言函数的参数会出现在两个地方,分别是函数定义处和函数调用处,这两个地方的参数是有区别的。1.1形参(形式参数)在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收... -
简单解读局部变量和全局变量
2021-05-20 17:41:53什么是C语言中的变量?局部和全局变量又是什么...这说明形参变量只能在函数内部使用,离开该函数就无效了。所谓作用域(Scope),就是变量的有效范围。不仅对于形参变量,C语言中所有的变量都有自己的作用域。决定变量... -
C语言中return返回函数局部变量的问题
2021-08-29 14:52:28在计算机中,释放空间并不需要将空间中的内容全部置成0或者1,而是只要设置这一块空间的数据无效即可。比如在下载文件时需要花很长时间,但是删除文件却只要几秒钟,这是因为操作系统只是把文件标识(文件头链接)... -
C语言全局变量和局部变量(带实例讲解)
2021-12-23 21:57:01在《C语言形参和实参的区别》中提到,形参变量要等到函数被调用时才分配内存,调用结束后立即释放内存。这说明形参变量的作用域非常有限,只能在函数内部使用,离开该函数就无效了。所谓作用域(Scope),就是变量的... -
C语言 全局变量和局部变量区别 - C语言零基础入门教程
2021-09-24 10:09:51目录 一.全局变量和局部变量简介...在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是从定义变量的位置到本源文件结束都有效。 int a, b; //全局变量 void func1(){ int c, d; //局部变量 -
C语言程序设计(山东联盟)
2021-05-20 10:41:19选项: A:_123 B:Printf C: A$ D:Dim 答案: 【 A$ 】 17、问题:01310081:在下列C语言程序中,可以用做变量名的是( )。 选项: A:1 B:a1 C:int D:p 答案: 【a1】 18、问题:01310091:以下符号中不能用作用户标识符... -
自考计算机基础与程序设计.ppt
2021-05-21 01:42:381、C语言概述,共 26 页 第 2 页,第二章 C语言概述,第一节 程序设计语言的发展 第二节 C语言的特点 第三节 C语言的组成 第四节 简单的C程序介绍 第五节 C程序的上机步骤 第六节 TC(Turbo C)介绍,共 26 页 第 3 页,2-1... -
C语言基础教程,C语言变量
2021-05-21 12:21:28C语言基础教程,C语言变量-1.jpg (27.58 KB, 下载次数: 0)2018-8-1 03:31 上传更多C/C++资料下载,C/C++学习乐园:747821062变量只不过是我们的程序可以操作的存储区域的名称。C中的每个变量都有一个特定的类型,它... -
为什么一个程序中变量只能定义一次_C语言变量的存储类别和生存期
2020-11-22 06:06:21我们知道,变量是有数据类型的,用以说明它占用多大的内存空间,可以进行什么样的操作。除了数据类型,变量还有一个属性,称为“存储类别”。存储类别就是变量在内存中的存放区域。在进程的地址空间中,常量区、全局... -
C语言常量 变量与作用域
2022-03-22 20:17:52变量与常量一、常量与符号常量constdefine二.变量与变量定义命名规则1.变量定义语句2.变量赋初值typedef 一、常量与符号常量 整型常量 以下是合法的整型常量表示形式: 256,-75,0(十进制整型常量) 0237,045,... -
C语言中,我在main函数中定义了一个变量,
2021-05-18 13:11:05两次使用的变量名一致? 在while里面定义的变量,在while外面是不能使用的话题:c语言主函数中有一段用大括号括起来了,其中定义的变量与主函数变回答:一对花括号理里面叫做语句块 在其中的定义的变量在其括号可以... -
c语言中typeof关键字
2021-05-23 08:15:23下面这两个等效声明,用于声明int类弄的变量atypeof(int) a;typeof('b') a; //相当于获取'b'的类型,定义一个变量a下面用于声明指针和数组typeof(int*) p1,p2;typeof(p1) p2 //p1与p2的类型一致... -
计算机科学类专升本复习之“C语言全局变量和局部变量”详解(初稿)
2022-02-03 14:52:04C语言全局变量和局部变量(带实例讲解) 形参变量需要等到函数被"调用"时才能分配内存,调用结束后立即释放内存。 这说明 "形参变量"的作用域 非常有限,只能在"函数内部"使用,离开函数就无效了,这就是变量的... -
c语言enum使用_enum枚举变量
2021-05-21 10:51:29该楼层疑似违规已被系统折叠隐藏此楼查看此楼二、enum枚举1. 枚举的定义枚举类型定义的一般形式为:enum 枚举名{ 枚举值表...2. 枚举变量的说明如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,...