//------------------
常量-----------------------
// 实型常量(小数)
// 单精度float / 双精度double
// 注意: 默认情况下编写的小数都是双精度的实型常量, 也就是默认情况下所有小数都是double
10.1;// 双精度double
88.8;// 双精度double
5.2f; //单精度float
// 字符型常量, 用单引号括起来的就是字符型常量
// 注意: 字符型常量的单引号中只能写一个字符, 如果写多个会报错
'a'; // 字符型常量
'ab'; // 错误
'1';
'12'; // 错误, 12是由两个字符组成, 由1和2组成
// '李'; // 错误写法, 因为一个汉字占3个字节
// 字符型常量的特殊情况, 在C语言中, 系统给某些字符的组合定义了特殊的函数, 这些字符的组合可以当做单个字符来使用
'\n';
// 字符串型常量, 用双引号括起来的就是字符串型常量
// 注意: 无论你用双引号括起来了几个字符, 只要使用双引号括起来的都是字符串常量
"abc";
"a";
10;
// 实型常量(小数)
// 单精度float / 双精度double
// 注意: 默认情况下编写的小数都是双精度的实型常量, 也就是默认情况下所有小数都是double
10.1;// 双精度double
88.8;// 双精度double
5.2f; //单精度float
// 字符型常量, 用单引号括起来的就是字符型常量
// 注意: 字符型常量的单引号中只能写一个字符, 如果写多个会报错
'a'; // 字符型常量
'ab'; // 错误
'1';
'12'; // 错误, 12是由两个字符组成, 由1和2组成
// '李'; // 错误写法, 因为一个汉字占3个字节
// 字符型常量的特殊情况, 在C语言中, 系统给某些字符的组合定义了特殊的函数, 这些字符的组合可以当做单个字符来使用
'\n';
// 字符串型常量, 用双引号括起来的就是字符串型常量
// 注意: 无论你用双引号括起来了几个字符, 只要使用双引号括起来的都是字符串常量
"abc";
"a";
---------变量的基本概念---------
#include <stdio.h>
int main(int argc, constchar * argv[]) {
/*
// 1.申请一块存储空间, 也就是定义一个变量
// 定义变量的格式: 数据类型 变量名称;
// 定义一个基本数据类型的变量
// int float double char
int number; // 定义了一个名称叫做number的变量
// 会在内存中开辟一块存储空间给number, 用于存储数据
int value; // 定义了一个名称叫做value的变量
// 又会在内存中开辟一块存储空间给value, 用于存储数据
*/
/*
// 连续定义, 如果多个变量都是相同类型的, 那么可以采用连续定义
int number, value;
// 如何往变量对应的存储空间当中存储数据
// 注意: 变量中不能随便存储数据, 只能存储与之对应的数据
// 概念: 变量的第一次赋值, 我们称之为初始化,
// 注意, 要想使用变量都必须先对变量进行初始化, 然后才能够使用
// 如果不对变量进行初始化, 那么其实变量中存储的是一些垃圾数据
number = 10; // 会将等号右边的数据放到等号左边的变量对应的存储空间中
// 如何使用变量
// 占位符号, %号是占位符号的起始符号
printf("%i\n", number);
float floatValue; // 定义了一个实型的变量
floatValue = 10.1f; // 往floatValue对应的存储空间中存储了10.1这个值
printf("%f\n", floatValue);
int intValue, age; // 定义了一个整型的变量
printf("%i\n", intValue);
printf("%i\n", age);
*/
// 初始化的两种方式
/*
// 1.先定义再初始化
int number;
number = 10;
// 2.定义的同时初始化
int value = 10;
*/
// 3.完全初始化
// int number, value;
// number = value = 10;
int number;
number = 10;
int value;
value = number;
// 4.部分初始化
// int number, value = 10;
number=20;
printf("number %d\n", number);
printf("value %d\n", value);
// 内存寻址从大到小, 如果按照这种规则, 那么先定义的变量内存地址一定大于后定义的变量
int number = 0;
int value = 0;
// 如何获得变量的详细地址(变量的地址), &变量名称
// 利用%p占位符来打印变量的详细地址
// 输出的是一个十六进制的数
// a/ b/ c/ d/ e/ f/
// 10/11/12/13/14/15
printf("%p\n", &number);//0x7fff5fbff6cc
int number = 0;
int value = 0;
// 如何获得变量的详细地址(变量的地址), &变量名称
// 利用%p占位符来打印变量的详细地址
// 输出的是一个十六进制的数
// a/ b/ c/ d/ e/ f/
// 10/11/12/13/14/15
printf("%p\n", &number);//0x7fff5fbff6cc
printf("%p\n",
&value);//0x7fff5fbff6c8
}