C
分享C语言基础,高级应用(涉及C陷阱与缺陷,C专家编程,C和指针)。
星火撩猿
莫道君行早,更有早行人;全心敲代码,天道自酬勤。
展开
-
C语言中的文件操作
文件操作具体操作文件类型 FILE* file;打开文件 FILE* fopen(path,mode);关闭文件 fclose(FILE*);代码示例#include <stdio.h>void createfile(char *filename){ FILE* file = fopen(filename, "w"); if(!file) { printf("Failed to create file(%s)\n", filename); } size_t原创 2021-04-24 22:34:35 · 133 阅读 · 0 评论 -
C语言中的函数
函数形如:void func(int a){ ...}详解:void这里为返回值类型,即不需要返回;可指定返回值为int,char,float,自定义结构体等类型函数体内一般不超过50行代码,如超过,可根据功能拆分成多个更小的函数函数指针...原创 2021-04-24 14:54:08 · 288 阅读 · 0 评论 -
C语言中的条件判断与循环
比较运算> ,<,>=,<===,!=if/else语句if(a > b){ ...} else{ ...}for语句for(int i = 0; i < 10; i++){ ...}while语句//当型循环,条件满足时执行while(1){ ...}//直到型循环,条件满足时退出do{ ...}while(1)while循环关键字:break=>条件满足时退出循环;continue=》条件满足时终止本次循环原创 2021-04-24 07:56:21 · 965 阅读 · 0 评论 -
linux中内存的管理与分配
常见的内存空间栈空间(函数内使用的变量都是栈空间,函数退出时,内存自动回收)堆空间(需手动申请释放,malloc/free,未释放会在程序退出时释放)内存映射,栈空间分配每个函数最大8M,堆空间无限制,可手动分配自行管理...原创 2021-04-24 07:14:49 · 206 阅读 · 0 评论 -
C语言中指针的使用
指针的定义与使用type* var(*靠近type表示更关注指针具体类型,靠近变量名表示更关注这是一个指针)var,*var(指针可以加减乘除,*var表示获取指针指向的内容)堆内存的分配与释放分配内存 void* mem = malloc(size);释放内存 free(mem);使用示例:#include <stdio.h>#include <stdlib.h>int main(int argc,char* argv[]){ char *p = (原创 2021-04-21 21:34:02 · 98 阅读 · 2 评论 -
C语言中的指针
指针什么是指针存放内存的地址的变量指针的物理意义指针本身也是一个变量,是特殊的变量,它里面保存的是一个地址。根据地址值又可以找到对应地址里面保存的内容。指针的作用提升执行效率更强的控制力指针的操作一是对指针本身的操作,+,-,,/二是对指向内容的操作,+,-,,/...原创 2021-04-20 23:14:19 · 147 阅读 · 0 评论 -
C语言中的高级类型
数组概念数组是有序的元素序列C语言中数组的定义,char c[5],int arr[10]详解数组中元素从0开始存储访问,如c[0],arr[0]数组中所有元素的类型都是相同的结构体形如:struct st{ int a;//成员a float b;//成员b};枚举类型形如:enum em{ red_color = 0, green_color, blue_color};...原创 2021-04-20 23:00:36 · 212 阅读 · 0 评论 -
C语言中基本类型和逻辑运算
常用基本类型具体如下:整型:short,int,long,long long浮点型:float,double =》一般使用float,double精度更高(可用于科学计算)字符:char空类型:void =》 表示不关心具体类型,对类型不敏感占用内存(32位编译器,具体占用内存大小与编译器操作系统位数密切相关)char :1个字节short int :2个字节int: 4个字节long: 4个字节long long: 8个字节float: 4个字节double: 8个字节原创 2021-04-19 23:23:34 · 866 阅读 · 0 评论 -
C语言的HelloWorld
C语言实现HelloWorld代码:#include <stdio.h>int main(int argc,char* argv[]){ printf("hello world!\n"); return 0;}详解:#include <stdio.h> #关键字包含头文件stdio.h, stdio.h头文件中包含printf函数定义;包含系统或标准库文件一般使用尖括号<>,包含自己写的文件一般使用双引号"";一般语言都是从入口点main开始执原创 2021-04-18 11:23:12 · 11602 阅读 · 2 评论 -
C语言之词法陷阱
前言编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”。1.1 =不同于=== 是赋值运算符,==是比较运算符1.2 & 和 | 不同于&& 和 ||& 和 | 是位运算(按位与或),只能对二进制数据进行操作;&& 和 || 是逻辑运算符,可用于一般表达式...原创 2021-04-03 14:15:39 · 111 阅读 · 0 评论