亚洲城国际娱乐_程序员之C语言

2017-06-08 01:36   作者:亚洲城娱乐城

程序员之C语言-变量

  变量是什么,但给我们的程序可以操纵一个存储区的名称。在C各自变量都有一个特定类型的,这就决定了大小和变量的存储器的布局; 可以存储该存储器内的值的范围内; 和该组操作可以施加到可变。

  变量的名称可以由字母,数字和下划线。它必须以字母或下划线开头。大写和小写字母是不同的,因为C是区分大小写的。基于基本类型在上一章介绍,将有以下基本变量类型 -

  类型描述char八位字节(一个字节)整数类型。int整数类型float单精度浮点值。double双精度浮点值。void表示不存在类型。C编程语言还可以定义各种其他类型的变量,我们将在像枚举,指针,数组,结构,联盟等随后的章节对于本章覆盖,让我们只研究基本变量类型。

  在C变量定义

  变量定义告诉编译器在哪里,有多少存储创建变量。变量定义指定一个数据类型,并包含类型如下的一个或多个变量的列表 -

  type variable_list;

  在这里,类型必须是包char,w_char,整形,浮点,双,布尔,或任何用户定义对象的有效C数据类型; 和variable_list可能包括用逗号分隔的一个或多个标识符名称。一些有效的声明都在这里显示-

  int i, j, k;

  char c, ch;

  float f, salary;

  double d;

  int i,j,k;声明并定义了变量I,J,和k; 这指示编译器创建一个名为I,J和int类型的k个变量。

  变量可以被初始化(分配一个初始值)在他们的声明。初始化器由一个等号后跟一个常量表达式如下 -

  type variable_name = value;

  一些实例是 -

  extern int d = 3, f = 5; // 声明d和f

  int d = 3, f = 5; // 定义和初始化d和f

  byte z = 22; // 定义并初始化z。char x = x; // 变量x的值“x”。

  对于没有初始化定义:具有静态存储时间变量是隐式NULL初始化(所有字节的值为0);所有其它变量的初始值是不确定的。

  在C变量声明

  变量声明提供保证,即存在一个给定类型和名称的变量,这样编译器可以进行进一步的编译,而无需对变量的完整详细的编译器。变量定义有其在编译的时候只含义,编译器需要实际的变量定义在链接程序的时间。

  当您使用多个文件变量声明是有用的,你在其中将在该程序的链接时一个文件定义的变量。您将使用关键字extern在任何地方来声明一个变量。虽然你可以在你的C程序声明一个变量多次,可只有一次在一个文件中,一个功能或一个代码块定义。

  例

  试试下面的例子,其中变量已在顶部声明,但他们已经被定义和主函数中初始化 -

  #include <stdio.h> // 变量声明:extern int a, b; extern int c; extern float f; int main () { /* 变量定义: */ int a, b; int c; float f; /* 实际初始化 */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }

  当上述代码被编译和执行时,它产生了以下结果 -

  value of c : 30

  value of f : 23.333334

  同样的概念也适用于函数声明,你在它的声明时提供一个函数名,可其他地方给予其实际的定义。例如 -

  // 函数声明int func(); int main() { // 函数调用

  int i = func(); } // 函数定义int func() { return 0; }

  左值和右值用C

  有两种在C表达式的 -

  左值-表达式引用一个内存位置被称为“左值”表达式。左值可能显示为任一左手或分配的右手边。

  右值-术语右值指的是存储在存储器部分的地址的数据值。右值是不能给它分配一个值,这意味着一个右值可能出现在右侧而不是在赋值的左边的表达式。

  变量是左值,因此它们可能会出现在赋值的左侧。数字文字是右值,所以他们可能不会进行分配,不能出现在左侧。看看下面的有效和无效的声明 -

  int g = 20; // 有效的声明10 = 20; // 无效的声明,会产生编译时错误

  第一时间更新C语言案例资源 你想第一时间学习关注【攻纵浩】C语言案例资源

分享到:
收藏
相关阅读