函数
举例:
数组
数组是一组相同类型的元素的集合。int arr[10]={1,2,3,4,5,6,7,8,9,10},当元素数量不完全时,剩余的会默认补0。数组用下标访问,下标从0开始。
把数组内的全部元素打印出来,可以采用循环语句:
操作符
算术操作符: + - * / % 加 减 乘 除 取余
移位操作符:>> << 左移 右移 操作符移动的是二进制位。
位操作符:& | ^ 按位与 按位或 按位异或
赋值操作符: = += -= *= /= &= ^= |= >>= <<=
单目操作符:
在c语言中,0表示假,非0表示真。sizeof用于计算类型或者变量的大小。
正整数的原码、反码、补码相同。
关系操作符:
逻辑操作符:
条件操作符(三目操作符);
逗号表达式:
逗号表达式是从左向右依次计算的,整个表达式的结果是最后一个表达式的结果。
常见关键字
(不可以自己创建关键字):define、include等为预处理指令,不是关键字。
typedef--类型重定义(重命名)
static--静态的 有三种用法 (1)修饰局部变量,改变了局部变量的生命周期,本质上改变了变量的存储类型。(由栈区到了静态区)栈区:存储局部变量、函数的参数;堆区:分配动态内存;静态区:存储全局变量、static修饰的静态变量;(2)修饰全局变量,使得这个全局变量只能在自己所在的源文件内部可以使用,其他源文件不能使用。全局变量在其他源文件可以被使用,是因为全局变量具有外部连接属性。但是被static修饰之后,变成了内部连接属性,其他源文件就不能连接到这个静态的全局变量。 (3)修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用。本质上是将函数的外部连接属性变成了内部连接属性。(和修饰全局变量一样)
常量和宏
define是一个预处理指令。(1)define定义常量。(2)define定义宏。
书写举例:# defeine ADD(X,Y) ((X)+(Y))
指针(指针就是地址!)
内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每一个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
内存是怎么编号的?例如,32位电脑又32根地址线,这些地址线是物理线,可以通电代表1/0信号。将电信号转换位数字信号,即转换为1和0组成的二进制序列,则在32位电脑中可以有2的32次方个序列,这些二进制序列就可以作为内存的编号。我们就可以把这个编号成为内存单元的地址。
一个这样的内存单元式多大空间?1个内存单元给一个字节byte。
不同类型的指针(int、char、float等)的大小是相同的。指针是用来存放地址的,指针需要多大的空间取决于地址的存储需要多大的空间;32位机器:32bit--4bite ; 64位机器: 64bit -- 8bite ;
计算机中的数据的存储位置
寄存器、高速缓存、内存、硬盘、网盘等。