摘要:
C 函数简介 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 可以把代码划分到不同的函数中。但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供 阅读全文
摘要:
当一个字符串常量出现于表达式中,它的值是一个指针常量,编译器把这些指定字符的一份拷贝存储在内存中的某个位置,并存储一个指向第一个字符的指针,可以使用指针表达式也可以使用下标来使用字符串常量。 如下面的表达式: 这个表达式计算的是指针值加上1的值,结果是个指针,指向字符串中的第2个字符:y。 下面这个 阅读全文
摘要:
函数指针初始化及使用函数指针调用函数 最常见的两个用途是转换表和作为参数传递给另外一个函数。 简单声明一个函数指针并不意味着可以马上使用,和其他指针一样,对函数指针执行间接访问之前必须把它初始化为指向某个函数。初始化方式: 这里的&是可选的,因为函数名被使用时总是由编译器将它转换成函数指针,&操作符 阅读全文
摘要:
int f;/*声明一个整数*/ int *f;/*声明一个指向整型的指针*/ int *f,g;/*这个并不是两个整形指针,而是一个指针,一个整型*/ int f();/*一个返回值为整型的函数*/ int *f();/*本质是一个函数,函数的返回值为指向整型的指针*/ int (*f) ();/*本质是一个指针,指针指向一个返回值为整型的函数*/ int *(*f) ();/*本质是一个指... 阅读全文
摘要:
变量的直接引用与间接引用 通过变量名叫做直接引用,通过指针对变量的引用叫间接引用 间接引用的两种情况: 如果在一个指针变量中存放的是一个目标变量的地址叫做一级地址。 如果在一个指针变量中存放的是指向目标变量的地址的指针变量的地址,那么这个就叫做二级地址。 指针的指针 如果一个指针指向的是另外一个指针 阅读全文
摘要:
指针变量可以进行某些运算,但其运算的种类是有限的。 它只能进行赋值运算和部分算术运算及关系运算。 指针运算符 (1)取地址运算符&取地址运算符&是单目运算符,其结合性为自右至左,其功能是取变量的地址。 (2)取内容运算符* 取内容运算符*是单目运算符,其结合性为自右至左,用来表示指针变量所指的变量。 阅读全文
摘要:
指针变量的类型说明 对指针变量的类型说明包括三个内容:(1)指针类型说明,即定义变量为一个指针变量;(2)指针变量名;(3)变量值(指针)所指向的变量的数据类型。 其一般形式为: 类型说明符 *变量名;其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数 阅读全文
摘要:
内存和地址 所有的数据都是存放在存储器中的, 一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等。 为了正确地访问这些内存单元, 必须为每个内存单元编上号, 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到 阅读全文
摘要:
求字节运算符(sizeof) sizeof()的作用是用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。 基本形式: sizeof有两种形式: sizeof 表达式和sizeof(类型名)。 sizeof 表达式中的表达式并不求值,只是根据类型转换规则求得该表达式的类型,然后把这种类型所占 阅读全文
摘要:
条件运算符 条件运算符是唯一的一个三目运算符 格式:(条件判断)?操作1:操作2 作用: 如果条件表达式为真,则执行操作1,条件表达式为假,则执行操作2 优先级: 条件运算符高于赋值运算符,但低于逻辑运算符、关系运算符和算术运算符 例:int a = 5?10:2; 获得a、b中的最大数 获得a、b 阅读全文
摘要:
指针运算符 &取地址运算符,求得某个变量地址 *指针运算符,求得所指地址的空间里的值 赋值运算符和赋值表达式 C语言中,“=”称作赋值运算符,作用是将一个数值赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。 简单赋值: 一般形式:变量名=表达式 注意: 在程序中可 阅读全文
摘要:
基本的位运算符 & 按位与,规则:若两个相应额二进制位都为1,则该位的结果为1,否则为0 | 按位或,规则:两个相应的二进制位中只要有一个为1,则该位的结果为1,否则为0 ^ 按位异或,规则:若两个二进制位相同,则结果为0,不同则为1 ~ 按位求反,规则:安慰取反,即0变1,1变0 << 左移 >> 阅读全文
摘要:
算术运算符和算术表达式 基本的算数运算符 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取余运算 注意: %两侧只能是整数,正负性取决于%左侧的数值 整数和整数运算,结果是整数,尤其是在使用除法时需要注意会舍去小数部分 算术表达式 算术表达式是用算术运算符和括号将运算量(也称操作数)连 阅读全文
摘要:
操作符分类 C语言一共有34种运算符,共计10种运算类型: 若按参与运算的对象个数,C语言运算符可分为: 单目运算符、双目运算符、和三目运算符。 运算符的结合性和优先级 运算符的结合性 在C语言的运算符中,所有的单目运算符、条件运算符、赋值运算符及其扩展运算符,结合方向都是从右向左,其余运算符的结合 阅读全文
摘要:
break语句 (1) 只能在循环体内和switch语句体内使用break语句。 (2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 (3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。 (4) 在循 阅读全文
摘要:
每个循环(for循环或者while循环)都有一个共同的特点: 拥有循环初始化语句、循环执行的条件、使循环趋于结束的条件(称为调整语句)、循环体,下面结合实际的循环简要分析下: for循环 其中的statement称为循环体;exp1是循环初始化语句;exp2为循环执行要满足的条件;exp3为使循环趋 阅读全文
摘要:
if语句 形式: 含义: 上述代码中,cond表示条件,它的值可以是任何能够产生整型结果的表达式:零值表示“假”,非零值表示“真”;statement1和statement2表示代码块。 注意C中没有布尔类型,因而是用整型来代替判断条件。 注意: 当if语句嵌套时,就会出现else悬空的情况,这时候 阅读全文
摘要:
程序语句从大的方向来划分,只有三种: 顺序执行语句、分支语句(跳过部分执行)、循环语句(往复执行)。 空语句 C语言中最简单的语句就是空语句,它由分号“;”构成。空语句本身不执行任何操作,但也有它存在的价值。它适用的情况是语法要求出现一条完整的语句,但是并不需要它执行任何的任务。 某些情况下,它的存 阅读全文
摘要:
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义数据类型。 与#define的区别 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: 以下则可行: 简化struct声明 以前的代码中,声 阅读全文
摘要:
C 字面值 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。 常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。 常量就像是常规的变量,只不过常量的值在定义后不能进行修改。 整数字面值 整数常量可以是十进制、八进制或十六进制的常量。前缀指 阅读全文