随笔分类 - C
摘要:与`++a`的区别 基于以上,就可以使用下面来判断字母 注意这里使用 关键字定义要返回的数据,因为C不允许返回局部变量的地址,所以使用static将数据定义为全局变量 动态遍历数组 对于不知道长度的数组,我们可以通过 获得数组在内存中所占的字节数,由于数组存放的所有元素的数据类型都是一样的,我们就可
阅读全文
摘要:) scanf()函数里面只能形如 ,不能够是 ,不能够带有文本 ) ) i++ 执行后i的结果会增加一,相当于i=i+1 值是会改变的 )来看一个问题 结果就会乱序
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c command line arguments.html 命令行参数可以让我们在程序外部通过向程序传递参数来控制函数,而不必将这些参数写在程序内部对程序进行硬编码 1.命令行参数是通过main()函数处理的 2.ar
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c memory management.html C在头文件 中提供了几个函数用于内存的分配和管理。 |名称|描述| | | | |void calloc(int num,int size)|分配num个长度为size
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c variable arguments.html 怎样让函数接受不同个数的参数呢,可以通过 头文件提供的函数和宏来实现。此头文件提供了实现可变参数功能相关的函数和宏。 可变参数的形式 过程 c include inc
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c error handling.html 遇到错误,大多数C或者UNIX会返回1或者NULL,同时会设置一个errno,这个errno是全局变量 所以你可以通过检查返回值是否代表错误 C语言提供了perror()、和
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c type casting.html 强制类型转换是将一种数据类型显示的转换为另外一种指定的数据类型 整数提升 整数提升是指把小于 int 或 unsigned int 的整数类型转换为 int 或 unsigned
阅读全文
摘要:预处理器 参考链接:https://www.runoob.com/cprogramming/c preprocessors.html 预处理器是再变异之前做的一些工作 include 包含一个源文件代码 常见的有 就是从系统库中获取stdio.h,并添加到当前文本中。而 则是告诉预编译器(cpp)从
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c input output.html 标准输入输出头文件 是一个预处理指令,用于引入 scanf( ) 只要遇到一个空格,scantf()就会停止读取 putchar()和getchar() 把字符输出到屏幕上并返回
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c typedef.html 作用 typedef是用来为数据类型(可以是各种数据类型,包括自己定义的数据类型如结构体)定义别名的,比如为单字节数字取一个别名 和typedef的不同 也是C提供的用于为数据类型定义别名
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c unions.html 共用体和结构体类似,不过不是保存多个不同类型的数据项的,而是可以在一个储存位置上储存多个不同类型的数据项,但是任意时刻都只能储存一个数据类型的数据项。 共用体的定义 共用体的占用的内存应足够
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c structures.html 结构体是干啥的 例如数组可以用来存储多个相同数据类型的数据项,结构体也是一种数据类型,可以用来储存多个不同数据类型的数据项。 定义结构 结构体的嵌套 结构体内部可以包含其他的结构体,
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c strings.html 字符串其实就是以null字符 终止的一个 字符数组 C编译器会在初始化字符数组时,自动把 放在字符串的末尾 操作字符串的函数 |名称|描述| | | | |strcpy(s1,s2)|将s
阅读全文
摘要:参考链接:https://www.runoob.com/cprogramming/c fun pointer callback.html 函数指针 函数指针就是执行函数的指针,他可以像正常函数一样去调用函数并且传递参数(若ptr指向一个函数,在实际使用的过程中就像函数名一样去使用) 声明 回调函数
阅读全文
摘要:参考连接:https://www.runoob.com/cprogramming/c pointers.html 1.可以用来简化程序的执行 2.有一些功能如动态分配内存,指针是必不可少的 指针的声明 同其他数据类型一样,指针也是C中的一个数据类型,所以你必须在使用之前声明 其中type是指针储存的
阅读全文
摘要:传递数组给函数 告诉编译器函数要接受一个指针 从函数中返回数组 参考连接:https://www.runoob.com/cprogramming/c return arrays from function.html C不允许返回一个完整的数组作为参数,所以如果是传值调用,你可以通过返回一个数组名来返
阅读全文
摘要:参考连接:https://www.runoob.com/cprogramming/c functions.html 局部变量与全局变量在内存中的储存方式 全局变量保存在内存中的全局储存区中,占用静态的存储单元 局部变量保存在栈中,只有当所在程序被调用的时候才动态的为变量分配储存单元 要正确的初始化变
阅读全文
摘要:) strcat()用于连接两个字符串 ) 函数 memcpy() 用来复制内存到另一个位置。
阅读全文
摘要:判断 switch语句 switch语句可以嵌套 三元运算符 循环 for循环中三个表达式中的每一个都不是必要的,从而可以将某些表达式置空来构造无限循环 与`do……while`的区别 while语句在执行循环主体前测试条件、而do……while在循环主题执行后测试条件,即循环主体会被至少执行一次
阅读全文
摘要:储存类 参考链接:https://www.runoob.com/cprogramming/c storage classes.html 存储类定义 C 程序中变量/函数的范围(可见性)和生命周期 auto储存类 auto 存储类是所有局部变量默认的存储类。 register 存储类 register
阅读全文