C语言
单行梦想家
这个作者很懒,什么都没留下…
展开
-
C语言主函数(参数)补充
C语言主函数(参数)补充。原创 2024-01-31 17:23:32 · 349 阅读 · 0 评论 -
内存对齐(结构体大小)
内存对齐原创 2023-11-03 14:20:19 · 51 阅读 · 0 评论 -
数据存储方式(原码,反码,补码)
15 补码=反码+1=原码符号位不动,其余位取反+1 1111 0001。有符号数 +15 补码=反码=原码 0000 1111。有符号数 +15 反码=原码 0000 1111。无符号数 15 反码=原码 0000 1111。无符号数 15 补码= 反码= 原码。有符号数:+15 0000 1111。有符号数的首位是符号位(0正1负)原创 2023-11-01 19:13:34 · 134 阅读 · 0 评论 -
C语言内存四分区
data区:已经初始化的全局变量、静态变量、常量(单独划分出一个常量区)存放局部变量、函数形参、返回值(>4字节,原创 2023-10-25 18:10:42 · 293 阅读 · 0 评论 -
C语言const修饰指针变量
常量指针,指针常量原创 2023-10-23 15:32:33 · 72 阅读 · 0 评论 -
gcc编译过程
预处理阶段会将头文件展开、宏替换、条件编译、取消注释....将hello.c生成一个hello.i的文件(指令:-E)将hello.i生成一个hello.s文件(指令:-S)将hello.s生成一个hello.o文件(指令:-c)举例说明:hello.c编译生成hello.exe。将hello.o生成hello.exe可执行程序。汇编阶段:主要生成让机器识别的二进制文件。hello.exe是一个可执行程序。hello.i也是一个C语言程序。hello.o是一个二进制文件。hello.s是一个汇编文件。原创 2023-10-15 11:51:10 · 46 阅读 · 0 评论 -
判断计算机处理器的大小端
C语言判断字节序原创 2023-09-06 19:58:54 · 307 阅读 · 0 评论 -
C语言指针入门详解
C语言指针原创 2023-08-25 21:01:15 · 117 阅读 · 0 评论 -
PID算法
PID算法原创 2023-07-19 17:24:46 · 908 阅读 · 0 评论 -
C语言实战-贪吃蛇
因为C语言常用键盘键入函数scanf、gets、getchar输入后必须要按下enter才结束,对于贪吃蛇方向控制无法实现。此处涉及到两个while循环的问题,一个是贪吃蛇一直向右走,另一个是不断检测键盘输入。curses是一个在Linux/Unix下广泛应用的图形函数库,作用是可以在终端内绘制简单的图形用户界面。③创建线程:pthread_create(&线程名,NULL,函数,NULL);10、小问题:上述代码中蛇不合理走位,左右来回走,上下来回走。首节点删除,增加尾节点,中间的不变。原创 2023-04-26 21:45:33 · 202 阅读 · 0 评论 -
C语言基础-链表
对于数据的处理,增删改查会减少工作量。5、链表从指定节点后方插入新的节点。6、链表从指定节点前方插入新的节点。(:set nu):显示行号。4、统计链表节点个数及链表查找。2、链表与数组的区别与实现。3、链表静态添加与动态遍历。①删除head,改head。8、链表动态创建之头插法。9、链表动态创建之尾插法。②在不是head前插入。1、为什么要使用链表。7、链表删除指定节点。原创 2023-04-18 19:05:14 · 66 阅读 · 0 评论 -
C语言基础-结构体
注意:1、关键字struct;2、结构体名大写开头;每个成员都是结构体中的一个域,也成为域表,又称成员列表。注意:指针遍历时,下次遍历记得重新指向数组头。通过结构体指针访问结构体内容。2、结构体与数组的结合。原创 2023-04-11 21:04:18 · 83 阅读 · 0 评论 -
C语言基础-字符串
把src所指向的字符串(包括"\0")复制到dest所指向的字符串后面(删除*dest原来末尾的"\0")。—C库函数 void *realloc(void *ptr,size_t size)尝试重新调整之前调用malloc或calloc所分配的ptr指向的内存块的大小。—strncpy函数原型 char *strncpy(char *dest,const char *src,int n);—strcpy函数原型 char *strcpy(char *dest,const char *src);原创 2023-04-11 09:27:36 · 56 阅读 · 0 评论 -
C语言基础-指针(下)
⑪一个函数的指针,指向的函数的类型是有两个整型参数并且返回一个函数只针对函数,返回的函数指针指向有一个整型参数且返回整型数的函数:int(*(*a)(int,int))(int);⑩一个有10个指针的数组,每个指针指向一个函数,该函数有一个整型参数并返回一个整型数:int (*a[10])(int);⑧一个指向指针的指针,该数组有10个整型指针:int *(*a)[10](数组指针,数组每一项为整型指针)⑦一个指向指针的指针,被指向的指针指向一个有10个整型数的数组:int (**a)[10];原创 2023-04-10 10:47:38 · 121 阅读 · 0 评论 -
C语言基础-指针(上)
补充:1、printf("第%d个元素为:%d\n",i+1,*p++);也可以遍历,*与p先结合,访问之后p++不是给地址+1,而是地址的偏移1个类型的字节数,如果是int型,偏移4个字节,如果是char型,则偏移1个字节;不可互换的一点:a++不可行,arr是常量指针,p是指针变量。*是一个标识符,用来保存别人地址(p = &a)上段代码打印出第0个元素的值,当然还可以打印出其他位置元素的值。*(&a): *为取值运算符,把后面内存地址中的数据取出来。指针变量:存放地址的变量。2、指针变量指向数组。原创 2023-04-06 21:14:54 · 46 阅读 · 0 评论 -
C语言基础-数组,排序,函数
计算数组内元素的个数,利用sizeof求出整个数组的内存空间大小和一个元素的内存空间大小,两数相除即可得出数组内元素的个数。生命周期,被调用时才为形式参数申请内存,调用结束,内存被系统释放。(编程便捷,但是有风险,所有函数都可以操作,多线程)在对全部数据赋值时,中括号内的元素个数可以省略不写(如下代码,5即可不写)-由整数赋值给小数时,需要强转,强转类型写在括号内。1、首先定义三个方法函数,输入成绩,打印成绩,计算平均值。三、一维数组作为函数的参数,数组值传递的问题(难点)-参数列表中数组传递的是。原创 2023-04-05 23:30:09 · 2053 阅读 · 0 评论 -
c语言基础-条件语句
scanf中的变量要取地址,变量名前要加&for(条件赋初值;9、break与continue的区别。如果ab都为真,则结果为真,否则为假。continue:提前结束本次循环。7、do...while循环。break:提前结束循环。原创 2023-04-04 21:28:45 · 1896 阅读 · 0 评论 -
C语言基础-变量,数据类型
占位符以%开头,d为十进制整数,c为单个字符(输出一个字母),s为多个字符,f为小数(指定小数位数,%3.2f即表示数据为3位,小数位数为2),x为以16进制格式输出,p一般打印内存地址(逗号后面&a)字符型——ASCII码——char data = 'c'(1个字节,8bits)浮点型——小数——float data1 = 3.14(4个字节,32位)与printf相似,区别在于scanf("%d",&a),逗号后面要取地址。整数型——整数——int a = 10(4个字节,32位)原创 2023-04-03 22:00:54 · 76 阅读 · 1 评论