常量 带小数 C语言默认识别为double型 8 个字节。
例子:float i = 2.0 ; double j = 2.0;
i == j 为假 因为 i 为四字节 ,j 为八字节 ,j的精度更高。
例子:i+++++i
表达式报错
贪心原则:从左到右 逐个字符扫描,尽可能多的结合成c的运算符
i ++ ++ + I ++运算符是自右向左结合
((i++)++) + i (i++)整体为表达式,为右值,不能进行++运算,++运算需要左值
逗号运算(顺序求值表达式)
Int I = 10;
(1+2,i++,3+4) 表达式结果是7
I的值打印出来为 11
*p 进行 间接访问的方式:
1. 拿p中的地址,到内存中定位
2. 从定位处开始,偏移出sizeof(基类型)大小一块空间
3. 将这空间整体当做一个基类型的变量来看
指针的核心用途:被调修改主调
函数指针
int (*p)(int , int ) = add; // 函数名
注意:
函数 – 执行功能代码
通过指针变量p进行函数调用
函数指针 –不需要做*p运算
主要用途:实现回调
指针函数
返回值类型为 指针类型 – 指针函数
Char *strcpy(char *dest, const char *src);
指针数组
Char *s[ ] = { } ; //指针数组 – 批量存放多个指针
练习:
结构体
注意 定义结构体花括号外有分号
基本数据(int,float,char)
构造类型(数组类型,结构体类型) //自定义
数据类型: (可以用来)
定义变量
定义数组
做函数形参
定义指针
通过 . 来进行结构体访问。 (例子 s.sno 访问的是 student结构体力的 sno数据)
3.定义类型的同时,定义变量,类型名可以省略。
使用 struct student s[3]; 可以创造一个数组有3个 student类型