C
文章平均质量分 72
C
◣星河◢
这个作者很懒,什么都没留下…
展开
-
chdir: No such file or directory (chdir()函数、strtok()函数)
出现此错误的原因在于 如果用户通过回车键或通过EOF (Linux上的ctrl + d)字符输入字符串,这将会运行。所以在调用strtok()函数时,应该写strtok(....," \n"),以防字符串以EOF或其它形式结束。1、在涉及到获取用户输入时要注意换行符的处理,"\n"也输入一个字符,应该考虑到。2、在涉及到数组的处理时要注意结束符 "\0",它是自动补充的,会起到作用,特别是涉及到数组的空间开辟以及访问时应该被注意。原创 2022-10-30 00:19:58 · 1436 阅读 · 1 评论 -
C语言编译运行代码的过程
汇编器的汇编过程相对于编译器来说更简单,没有复杂的语法,也没有语义,更不需要做指令优化,只是根据汇编指令和机器指令的对照表一一翻译过来,汇编过程有汇编器as完成。源程序是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,源程序就是所写好的代码。在C语言中,.c文件就是所谓的源文件。3、语义分析:语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。原创 2022-10-20 12:29:54 · 2060 阅读 · 0 评论 -
C语言volatile 关键字
volatile用于声明一个变量,告诉编译器该变量值容易发生改变,在编译、读取、存储该变量的时候都不要做任何优化,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取存储数据,不做优化,在做嵌入式开发的时候,因为有时变量地址有可能是系统的一个外设地址,他的值的变化并不在程序控制范围内,随时有可能变化,因此需要对他进行声明,每次读取或者存储直接对地址进行操作。变量如果加了 volatile 修饰,则会从内存重新装载内容,而不是直接从寄存器拷贝内容。原创 2022-10-19 23:08:47 · 4196 阅读 · 2 评论 -
C语言内存分区与可执行程序有哪些段,以及各段的意义
函数的局部变量,如果没有声明为static,函数中定义的局部变量全部为auto类型,auto变量包括未加static声明的局部变量和函数的形参。在函数调用时系统会给他们分配存储空间,在函数调用结束后会自动释放这些空间。属于动态存储方式。原创 2022-10-16 00:30:02 · 1683 阅读 · 0 评论 -
不调用C/C++库,实现字符串常用操作函数
2、长度受限制的字符串处理函数模拟实现 strncpy 、strncat 、strncmp 函数。1、长度不受限制的字符串函数讲解模拟实现strcpy 、strcat 、strcmp 函数。大佬写的太好了,非常清晰易懂,此处总结借鉴学习,如有侵权,联系删除。3、strstr 函数模拟实现。4、 内存操作函数模拟实现。原创 2022-10-15 23:10:47 · 348 阅读 · 0 评论 -
C语言static关键字
一个全局变量具有外部链接属性的 (就是可以被其他源文件引用)但是被static 修饰后外部链接属性就变成了内部链接属性 只能在自己所在的源文件内部使用不能在其他文件内部使用。静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。函数的使用方式与全局变量类似,在函数的返回类型前加上static,就是静态函数。在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。,而由于静态变量具有“记忆"功能,初始化后,一直都没有被销毁,都会保存在。原创 2022-10-07 22:45:12 · 303 阅读 · 0 评论 -
C语言extern关键字用法
例1:在a.c文件中使用extern int a = 5定义一个变量,在b.c文件中引用,会报warning,但程序可以运行。转载 2022-10-07 09:48:33 · 838 阅读 · 0 评论 -
C语言const关键字
例如:上面两种写法是一样的,都是表示变量n的值不能被改变了,需要注意的是,用const修饰变量时,一定要给变量初始化,否则之后就不能再进行赋值了。例如:如果没有const的修饰,如果我们在后面写到 str[3]=’x’;这样的语句,这样会导致对只读内存区域的赋值,然后程序会立刻异常终止。有了const,这个错误就能在程序被编译的时候就立即检查出来,这就是const的好处,让逻辑错误在编译期被发现。4、修饰常指针(常量指针与指针常量)常量指针常量指针说的是指针指向的内存可以变,但指原创 2022-10-06 23:50:56 · 192 阅读 · 0 评论 -
位运算(按位与 、按位或、按位异或、取反、左移右移)
例如: 3原创 2022-09-21 23:36:12 · 6470 阅读 · 0 评论 -
C语言基础总结
梳理一下c语言基础知识。一、基础慨念1、一个C程序由头文件和函数组成。2、输入(scanf)输出(printf)函数scanf,printf函数是由系统定义的标准函数,可在程序中直接调用3、标识符给变量或者函数起的名字就是标识符,标识符可以是字母、数字、下划线_组成的字符串,并且第一个字符必须是字母或下划线。注意:标识符不能是C语言的关键字,严格区分大小写。4、基本数据类型在C语言中数据是有类型的,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。5、变原创 2021-07-31 23:05:43 · 294 阅读 · 0 评论 -
学生成绩管理系统(C语言链表和指针)
题目:链表A,每个节点存放一个新的链表B1,B2,B3,B4,B5的头节点。场景:一个年级,相当于链表A,该年级5个班,每个班5个人,相当于链表B1-B5做一个学生成绩管理系统。学生成绩有语文、数学、英语。功能:录入成绩,找三科总分的最高分、最低分、算出平均分。这个题主要在于链表的嵌套和指针及结构体的使用。理清思路就可以了。1、创建学生结构体和班级结构体2、头插法创建学生链表和班级链表3、创建学生信息4、创建班级信息5、打印学生信息6、求最高分和最低分7、求平均分8、主函数原创 2021-09-04 17:26:56 · 569 阅读 · 0 评论