编程目的是为了解决问题,编程本质是用计算机的思维操作数据,操作就是算法,数据主要是数据类型,也可以说量,其中分为常量和变量,常量主要是指在量的生命周期内无法改变其值;变量主要是指在量的生命周期内可以随时改变其值。因此,从程序员的角度来看,变量就是个容器,可以存储数据。
  1. 变量的意义:从人的角度看,变量是个容器;如果从计算机的角度看,变量什么都不是;计算机的眼中只有内存地址,变量只是内存地址的一个别名,而且还是一个计算机根本不需要的别名。
  2. 变量的声明和定义:变量的声明只是告诉编译器有一个变量,编译器不会对变量分配内存;变量的定义通常包含变量的声明和初始化(赋值操作),编译器完成内存的分配工作;通过赋值符号“=”完成存储单元地址和存储内容之间的关联工作,从而实现通过变量名访问存储内容的步骤。如果不使用变量,需要通过存储单元的地址访问存储内容,对程序操作员来说实在有点复杂。
  3. 变量的命名规则:(1)、变量名只能包含字母(大小写都可以)、数字和下划线‘_’,但不能以数字开头,一般以不以下划线开始;(2)、变量名称一般是区分大小写,而且变量名不能用C语言中的32个关键字;(3)、变量名一般要能够明确表达含义,可以包含多个单词,单词的首字母大写即可,但是循环变量i,j,k一般只用单字母表示即可;(4)、常量一般全部用大写字母表示。
  4. 变量的初始化:变量的首次赋值称为变量的初始化。变量的声明只是表明变量向编译器申明变量的类型,变量的赋值完成编译器对变量的内存分配。变量可以被多次赋值,因此,经常在变量声明的同时对变量进行初始化,在需要的时候再进行赋值操作。
  5. 变量的其他:(1)、变量的类型不同主要是为了表明计算机分配的内存大小的不同,如果分配的内存大小相同,就无需区分变量的大小;(2)为了表明指针变量,经常在变量名前,加上”ptr_”的前缀;(3)对于复杂的类型,经常使用typedef对其进行二次定义,例如为了定义结构体指针,可以采用如下代码:
常规化的定义结构体,代码片段1
struct student{
char name[20];
int age;
float record;
}; struct student stu1;
strcpy(stu1.name, "zhangsan");
stu1.age = 20;
stu1.record = 76.5; printf("The student %s's information: age is %d and record is %f\n", stu1.name, stu1.age, stu1.record);
使用typedef定义的结构体,代码片段2
typedef struct student{
char name[20];
int age;
float record;
} Student; Student stu1;
strcpy(stu1.name, "zhangsan");
stu1.age = 20;
stu1.record = 76.5; printf("The student %s's information: age is %d and record is %f\n", stu1.name, stu1.age, stu1.record);
使用typedef定义的结构体指针,代码片段3
typedef struct student{
char name[20];
int age;
float record;
} *ptr_Student; ptr_Student stu1 = (ptr_Student)malloc(sizeof(struct student3));
strcpy(stu1->name, "zhangsan");
stu1->age = 20;
stu1->record = 76.5; printf("The student %s's information: age is %d and record is %f\n", stu1->name, stu1->age, stu1->record);

请读者自行选择使用哪一种吧!

《手把手教你学C语言》学习笔记(3)---变量的更多相关文章

  1. 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法

    一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...

  2. 《手把手教你学C语言》学习笔记(1)---C语言的特点

    学习C语言的原因,主要是需要使用C语言编程,我用故我学,应该是最主要的原因了. C语言的定位:C语言严格意义上只能算是中级语言,是面向过程编程语言的集大成者,虽然这种语言有很多的问题,但总体而言是瑕不 ...

  3. 《手把手教你学C语言》学习笔记(4)---代码规范

    编程过程中需要遵守编译器的各种约定,例如以下代码: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 print ...

  4. 《手把手教你学C语言》学习笔记(10)--- 程序的循环控制

    C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类: 一.for循环 1.基本格式为:for(表达式1:表达式2:表达式3){ //表达式1:循环变量赋初值 //表达式2:循环变量满足的条件 ...

  5. 《手把手教你学C语言》学习笔记(9)--- 程序的选择控制

    C语言是面向过程编程语言的主要代表,其特征就是严格控制程序的执行语句顺序,因此,C程序的主要结构控制就是顺序控制,以main函数为入口函数,根据控制,一条一条地执行语句.由于实际需求是很复杂的,只用顺 ...

  6. 《手把手教你学C语言》学习笔记(8)--- 运算符和表达式

    C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句. C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句.如果只有分号没有表达式就构成空语句,空语句常常用来形成占位 ...

  7. 《手把手教你学C语言》学习笔记(7)---程序的输入与输出

    程序设计中,为了观察程序的运行状态和结构,需要输出指定的内容:为了让程序能够更加灵活,可以根据需求输入内容,让计算机处理和运行:所以程序的输入输出就显的尤为重要.主要包括printf和scanf函数. ...

  8. 《手把手教你学C语言》学习笔记(6)---数据类型和常量

    计算机中需要保存信息,就需要数据存储,数据的存储就需要划分数据类型.主要包括:基本数据类型.指针类型.构造类型.空类型. 基本类型:整型---主要用来表示整数,可以分为无符号和有符号:又分为基本整型. ...

  9. 《手把手教你学C语言》学习笔记(5)---计算机的存储和访问

    数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是 ...

随机推荐

  1. Mybatis中的增删改查

    相比jdbc mybatis在操作数据库方面比jdbc节省了大量的代码,及大量的代码冗余.使得操作起来更加简洁. 在Mapper中分别有着 select,insert, update,delete的这 ...

  2. Vue2+webpack+node 配置+入门+详解

    Vue2介绍 1.vue2.0 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue 的核心库只关注视图层 采用单文件组件 复杂大型单页应用程序(SPA) 响 ...

  3. 科学计算库Numpy——数组生成

    等差数组 使用np.arange()或np.linspace()生成元素是等差数列的数组. 以10为底的数组 使用np.logspace()生成元素是以10为底的数组. 数组扩展 使用np.meshg ...

  4. SSH无密码登录及远程拷贝命令SCP的使用

    SSH无密码登录 1.生成密钥对(公钥和私钥) $ cd /home/cen/.ssh $ ssh-keygen -t rsa #生成密钥,使用rsa方式进行加密,四个回车 $ ssh-copy-id ...

  5. git 使用规范

    git使用资料: https://github.com/peak-c/my-git 公司内部使用开发规范: 一. 代码库介绍 个人开发库(git@gitlab.adrd.sohuno.com:sper ...

  6. P1217 [USACO1.5]回文质数 Prime Palindromes(求100000000内的回文素数)

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  7. 自己用C语言写RH850 F1KM serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 手上有块Renesas ...

  8. Jquery Dialog 详解(正在学习jquery,详解转载)

    文章来源:http://xufish.blogbus.com/logs/39583154.html AUTHOR:Jevoly 还是先看例子吧.另外如果要拖动.改变dialog的大小的话要加上ui.d ...

  9. CSC.exe(C#编译器命令行)

    不要在普通的命令行窗口中编译,请先打开C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2010 ...

  10. 了解JavaScript核心精髓(二)

    1.字符串操作 //声明字符串 var str = "abcd"; var str = new String("abcd") //截取字符串 console.l ...