上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 28 下一页
摘要: 1、结构 1.1 结构声明 在声明结构时,必须列出它包含的所有成员.这个列表包括每个成员的类型和名称. struct tag {member list} variable list; 例如 注意:这两个声明会被编译器当作两种截然不同的类型,即使他们的成员列表完全相同. 下面这跳语句是非法的 ~~z 阅读全文
posted @ 2019-02-26 17:33 wjwdive 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1、字符串 C语言没有字符串数据类型,因为字符串以字符串常量的形式出现或存储于字符数组中. 字符串常量和适用于那些程序不会对他们进行修改的字符串. 所有其他字符串都必须存储于字符串数组或动态分配的内存中. 字符串是一个或多个字符,并且以一个位模式全0 的NUL字节结尾 头文件 string.h 包含 阅读全文
posted @ 2019-02-22 17:06 wjwdive 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -表达式 右到左 单目运算符 (类型) 强制类型转换 阅读全文
posted @ 2019-02-22 14:44 wjwdive 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1.1 一维数组 一维数组的声明: int a[10]; 这里a就是一个数组. 数组a的类型就是一个指向整型的常量指针. 但是数组和指针是 不相同 的. 数组具有特定数量的元素,而指针只是一个标量值. 只有但数组名在表达式中使用时,编译器才会为它产生一个指针常量.(注意是指针常量,不是指针变量) 1 阅读全文
posted @ 2019-02-21 17:49 wjwdive 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1、可变参数表是通过宏实现的 宏定义于stdarg.h头文件,它是标准库的一部分.这个头文件声明了一个类型var_list和三个宏 va_start、va_arg、va_end. 我们可以声明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值. 参数列表在函数中用三点省略号(...). 阅读全文
posted @ 2019-02-21 09:35 wjwdive 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 1、递归 C通过运行时堆栈支持递归函数的实现. 递归函数就是直接或间接调用自身的函数. 一个小例子: 2、两个递归运用和用迭代优化的例子 尾递归:递归调用出现在函数的尾部,并且之后不再执行任何任务 尾递归可以方便的转换为迭代.由于递归是非常耗费内存的(每次函数调用都会在内存中分配空间),内存频繁的分 阅读全文
posted @ 2019-02-20 17:49 wjwdive 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1、函数的定义 函数的定义就是函数体的实现. 语法: 类型 函数名( 形式参数 ) 代码块 函数返回类型和函数名分开写是代码风格的问题,现代语言如swift返回值在函数名和参数表的后面,这样使得某些工程工具追踪源代码时更容易查找函数名. K&RC 的旧式声明: int find_int(key, a 阅读全文
posted @ 2019-02-20 17:31 wjwdive 阅读(216) 评论(0) 推荐(0) 编辑
摘要: ```C / 查找字符串 source 中 是否有指定的子串出现,如果有返回第一个匹配的字符 @param source 源 @param chars 目标 @return 返回值 / char find_char0(char const source, char const chars) { if 阅读全文
posted @ 2019-02-19 17:55 wjwdive 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 1、 \ p++ 最常用的一个指针的用法,就是在循环中用来迭代. p++ 共有3步操作: 1、++操作符把p所指向的内存中的值复制一份 2、++操作符把p加1(实际是一个p所指内存单元的大小,这也是编译器这么做使得用指针来迭代成为能) 3、\ 操作符对p的拷贝(未加1之前的地址)做间接访问(也就是取 阅读全文
posted @ 2019-02-18 17:41 wjwdive 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1、移位操作符 移位操作符分为左移操作符( ) 对于无符号数:左右位移操作都是逻辑位移 对于有符号数:到底是采用逻辑位移还是算术位移取决于编译器.如果一个出现使用了有符号数的右移操作,它就是不可移植的. 对于左移操作:右边空出来的位数用0补齐. 对于右移操作:如果是逻辑位移,左边移入的位用0填充;如 阅读全文
posted @ 2019-02-15 16:58 wjwdive 阅读(542) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 28 下一页