分享一句话:代码是一门艺术,键盘是我的画笔,bug是我的挑战,每一行代码都是我的创作。
十二,#define定义常量和宏。
1.#define定义标识符常量
2.#define定义的宏
十三,指针
1.内存:电脑上特别重要的存储器,计算机程序的运行都是在内存中进行的。所以为了有效使用内存,就把内存划分为一个个小小的内存单元,每个内存单元的大小是一个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
2.
*p前的*是解引用操作符,意思是通过p中存放的地址,找到p所指的对象,*p就是p所指的对象。下图就是通过*p找到a的地址,然后将a的值改变。
存放指针(指针即地址)的变量就是指针变量,指针变量就是用来存放地址的。
3.指针有不同的类型
不管什么类型的指针,都是在创建指针变量。
指针变量是用来存放地址的。
指针变量的大小取决于一个地址存放的时候需要多大的空间,即:
32位机器上的地址--->32bit位-4byte,所以指针变量的大小是4个字节;
64位机器上的地址--->64bit位-8byte,所以指针变量的大小是8个字节。
(PS:sizeof的返回值最好用%zu来打印。)
十四,结构体
对于一些复杂对象(如 描述人:名字+年龄+性别+地址+电话......),C语言就给了自定义类型的能力。自定义类型中有一种叫结构体(struct),结构体就是把一些单一类型(即人的名字,年龄,性别,地址,电话......)组合在一起。
上图打印那一行有个点操作符,即 结构体对象.成员名
其他打印方式: