
开发语言基础
文章平均质量分 77
记录语言和脚本的基础概念认识
SwDengpeixun
这个作者很懒,什么都没留下…
展开
-
[C++] 多态
c++ 中,在实现多态时,通常会使得基类中的虚函数不会被调用执行。那么,c++出了一个更好处理方法,将虚函数设置为纯虚函数,拥有纯虚函数类为抽象类。抽象类的特点是不能被实例化,但是可以声明来指针或者引用A a;实例化对象 — 对象实在存在— 在栈上new A;实例化对象 ---- 在堆上A* p;不是实例化对象 ---- 指向的对象不清楚A& p;不是实例化对象 — 引用一个对象。原创 2025-02-07 09:28:16 · 355 阅读 · 0 评论 -
[C++] 继承
面对对象的三大特性:封装、继承、多态封装的目的是为了对数据进行隐蔽继承的目的是为了提供代码的可重用性基类(父类)派生类(子类)类和类之间的关系:is-a(继承)、has-a(组合)、use-a(使用)has-a和use-a。原创 2025-02-06 10:08:43 · 824 阅读 · 0 评论 -
[C++] 类和对象
类:指的是一类事物,里面包括不同对象实体,它是一个抽象的概念,比如:动物对象:指的是类中的具体的实体,比如:狗,猫面对对象的三大特性:封装、继承、多态。原创 2025-02-06 09:40:47 · 602 阅读 · 0 评论 -
[C语言] 14--编译器、宏定义和头文件
一个可执行镜像文件可以由多个可重定位文件连接而成,比如a.o, b.o, c.o这三个可重定位文件链接生成一个叫x的可执行文件,这些文件不管是可重定位的,还是可执行的,它们都是ELF格式的,ELF格式是符合一定规范的文件格式,里面包含很多段(section),比如我们上面所述的hello.c变异生成的hello.c有如下的格式。一般来说我们C语言程序需要用到的很多的.c 文件,当某一些公共的资源需要在各个源文件中使用的时候,就可以把它写在头文件中,被其它的.c文件包含,可以避免编写同样的代码。原创 2024-09-09 14:18:09 · 1682 阅读 · 0 评论 -
[C语言] 13--联合体与枚举
结构体每一个成员都有一个独立的内存空间,但是联合体的每一个成员共用同一个内存空间因此联合体也被称为共同体。概念:枚举本质上一种范围受到限制的整型,比我们可以使用0-3表示4种状态(比如某个硬件的状态:打开、运行、暂停、关闭)枚举的作用提供了一个正确范围,使用一个有意义的单词来表示一个整型数字提高代码的可读性。可以在声明枚举常量列表的时候对他进行赋值,如果没有赋值则等于前一个常量值+1;enum 枚举标签{常量1, 常量2,常量3,常量4,};联合体的尺寸取决于,联合体中成员宽度最宽的。原创 2024-09-09 14:04:45 · 332 阅读 · 0 评论 -
[C语言] 12--结构体
定义与初始化实际为结构体分配内存空间 栈//普通成员初始化struct TieZhu c = { "Guide of Programming in the Linux Envirnment" , 3.59 , "张三" };// 指定成员初始化.Name = "张三",注意:①普通成员初始化: 写起来方便一点, 但是用起来麻烦一点,不利于代码的更新于迭代。②指定成员初始化:写起来麻烦一点, 但是用起来比较轻松, 有利于后期代码的更新迭代, 不会照成成员与成员之间初始化错位的问题。原创 2024-09-09 14:01:32 · 1012 阅读 · 0 评论 -
[C语言] 11--存储期
概念:在堆内存中分配的变量(内存) , 都属于自定义存储期,他的申请与释放完全由用户自己把握。如何申请:如何释放:free如何清空:bzeromemset注意:malloc 只负责申请空间, 并不会清空内存,因此一般使用bzero 清空calloc 负责申请内存,并会默认清空为 0 .free 只负责释放,也不会清空 更不会让指针指向空, 因此free之后最好让指针指向NULL。原创 2024-09-09 13:46:25 · 316 阅读 · 0 评论 -
[C语言] 10--作用域
概念: 如果有多个不同的作用域互相嵌套,小的作用域的作用范围会临时掩盖大的作用域(标识符名字相同)。概念:在代码的外部定义,它的可见范围是可以跨文件可见的(可用头文件中进行extern外部声明)概念:在代码内不定义的变量,可见范围从定义语句开始直到该代码块的右括号右边结束 }③在内码块内部定义的标识符 , 在外面其它的代码块中是不可见,因此称为局部作用域。不可以被static修饰, 修饰之后就变成本文件可见(可见范围被缩小)。在C语言中非常重要的一个角色, 它在不同的场合表现的意义不一样。原创 2024-09-09 13:40:37 · 314 阅读 · 0 评论 -
[C语言] 09--常用字符串处理
haystack --> 需要查找的源字符串 ( “Hello Even” )c --> 需要查找的字符 (虽然是个整型,但是实质是是一个无符号的字符类型)needle --> 需要查找的字符串 (“Even”) 查找到的内容。s --> 需要分割的字符串 (需要可读写的内存地址)str --> 复制后的字符串(目标地址, 必须可读写)s --> 需要遍历寻找的字符串 (只读地址即可)s --> 需要设置的内存的入口地址 (可读写)dest --> 目标地址 (可读写的内存地址)原创 2024-09-09 11:53:04 · 664 阅读 · 0 评论 -
[C语言] 08--内存管理
①使用malloc 申请内存时 , 内存中的值时随机值 , 可以使用bzero清空②calloc 申请内存时 , 内存中的值会被初始化为 0③free 只能释放堆空间的内存,不能释放其它区域的内存释放内存的含义:④释放内存仅仅意味着,当前内存的所有权交回给系统⑤释放内存并不会清空内存的内容⑥也不会改变指针的指向,需要手动把指针指向NULL ,不然就成野指针了。原创 2024-09-09 11:49:09 · 1263 阅读 · 0 评论 -
[C语言] 07--函数
函数对外公开的接口信息。比如:void①函数的返回值,该函数运行结束后返回什么东西给你,比如:void②函数名,命名的规则跟变量一致。应该顾名思义。比如:驼峰法、下划线法或者两者结合法③参数列表,告诉用户该函数需要输入的数据以及类型,有可能有多个也可能没有。原创 2024-09-09 11:39:43 · 1262 阅读 · 0 评论 -
[C语言] 06--数组与指针的结合
当我们使用p2 进行指针加减运算的时候 ,由于指针是整型的,可以访问到数组中的下一个元素以及上一个元素。以上代码中 p指向的是 一个整型数组并有5个元素。因此在对p 进行加减运算时, 是加减一个数组。一开始定义p2并初始化让指针p2 指向数组中第3个元素的地址。指针数组: 专门用来存放指针的数组,称为指针数组。以上代码是通过指针p2 来访问数组中的元素。数组指针: 专门用来指向一个数组的指针。原创 2024-09-06 11:16:36 · 449 阅读 · 0 评论 -
[C语言] 05--指针
②不同的地址他从表面上看似乎没有什么差别,但是由他们所代表的内存的尺寸是不一样的(由内存中所存放的数据类型相关),因此我们在访问这些地址的时候需要严格区分它们的逻辑关系。①虽然不同的数据类型所占用的内存空间不同, 但是他们的地址所占用的内存空间(地址的大小= 指针的大小)是恒定的, 由系统的位数来决定 32位 / 64位。指针在加减运算的过程中, 加/减的大小取决于该指针他自己的类型,与它所执行的数据实际的类型没有关系。(2)常目标指针 修饰的是指针所指向的目标,表示无法通过该指针来改变目标的数据。原创 2024-09-06 11:07:36 · 1200 阅读 · 0 评论 -
[C语言] 04--数组
重点: 变长数组并不是说在任意时候他的长度可以随意变化, 实际上只是在定义之前数组的长度是未知的有一个变量来决定, 但是定义语句过后变长数组的长度由定义那一刻变量的大小来决定。数组在定义的时候必须确定他的大小。②在使用sizeof 运算符中 数组名表示整个数组的首地址(求得整个数组的大小)存储模式:一片连续的内存,按照数据的类型进行分割成若干个大小相同的格子。元素的下标与偏移量:以数组开头为基础的偏移的量(数据类型大小)概念: 定义是, 使用一个变量作为数组的长度(元素的个数)。原创 2024-09-06 10:50:59 · 457 阅读 · 0 评论 -
[C语言] 03--控制流
如果没有则会从条件满足的语句开始一条一条的往下执行,直到整个switch - case 结束或者遇到其它代码块中的break。逻辑: 与while 类似, 都是让程序中某一段代码块重复运行,但是for相对与while来说更加紧凑。①switch(num )语句中的num , 它必须是一个整型的表达式,也就是所switch只能判断整型的数据。while 则是先执行一次代码块 ,然后再判断条件是否成立(最少会执行一次代码块)② goto 语句是一个无条件跳转的语句, 不利于程序的可读性,一般不建议使用。原创 2024-09-06 10:34:10 · 616 阅读 · 0 评论 -
[C语言] 02--运算符
含义: 退出某一个函数(如果时在主函数遇到return 则退出程序进程结束, 如果不是主函数,则返回被调用的位置)但左右两边右相同的操作数时,可以使用符合运算符, 使得代码看起来更加简明,且可以在一定程度上提高效率。语法 : 表达式1 = (表达式2 , 表达式3 ,表达式4 , …在逻辑或的运算中, 如果左边为真则表达式直接判断为真, 右边的表达式将不会执行。在逻辑与的运算中,如果左边为假则直接判断为假,右边的表达式将不会执行。// 相当于 a = a % b;原创 2024-09-06 10:18:25 · 791 阅读 · 0 评论 -
[C语言] 01--数据类型
加1 --> 1111 1111 1111 1111 1111 1111 1001 1100。原码:正整数是直接使用原码进行存储的,比如100这个正整数,则直接把100转换成二进制直接存储。注意:整型数据在二进制存储时最高位(第31位)表示符号位,如果为1 则表示负数反之则表示正数。概念: 不可以被改变的内存,被称为常量,可以被改变的内存则称为变量。补码:负数则是使用补码来存储,补码 = 原码的绝对值取反 + 1。概念:布尔类型用来表示真/假(非零则真)数组(可读,可写):(存储)原创 2024-09-04 14:37:55 · 537 阅读 · 0 评论 -
C语言学生管理系统
C语言简单实现学生管理系统示例。原创 2024-08-30 09:30:41 · 316 阅读 · 0 评论