- 博客(23)
- 收藏
- 关注

原创 C语言之旅:自定义类型 (结构体)
通过结构体,我们能够将多个相关字段封装成一个单一的数据类型,这不仅使得代码更加清晰和易于理解,还提高了代码的可维护性和可重用性。位段是C语言中一种用于在结构体中定义按位分配内存的字段的特性,它允许开发者精确控制内存使用,但具体行为取决于编译器和平台,使用时需谨慎并确保代码的可移植性和健壮性。祝你在编程的道路上越走越远,收获更多的知识和成就!
2024-05-09 22:54:29
1635
1
原创 C++:类和对象(上)
1、class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。class 类名 Stack {//访问修饰符://成员变量;//成员函数;2、为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_或者m 开头。// 成员变量,私有int* data_;
2024-11-14 23:21:12
1018
原创 初识C++(二)
引用的定义方式与指针类似,但使用&符号来标识,而不是指针的*符号。引用的基本语法如下:其中,&在此处不是求地址运算,而是起标识作用,表示这是一个引用声明。类型指的是目标变量的类型,引用名是你为这个变量定义的别名,而目标变量名则是被引用的原始变量名。// 引⽤:b和c是a的别名int& b = a;int& c = a;// 也可以给别名b取别名,d相当于还是a的别名int& d = b;++d;// 这⾥取地址我们看到是⼀样的。
2024-09-15 23:24:53
1275
原创 初识C++
C++ 是一种广泛使用的通用编程语言,它是在 C 语言的基础上发展而来的,首次由 Bjarne Stroustrup 在贝尔实验室于 1979 年开始设计和实现。C++ 提供了面向对象编程(OOP)、泛型编程和过程化编程等多种编程范式的支持。namespace(命名空间)是一种封装标识符(如变量名、函数名、类名等)的方式,它可以将相关的标识符组织在一起,以避免命名冲突。命名空间的定义使用namespace关键字后跟一个唯一的名称(即命名空间的标识符)和一对花括号{},其中包含了该命名空间内的所有成员。
2024-09-02 20:26:06
1057
1
原创 【数据结构】 栈的实现
栈是一种遵循后进先出原则的数据结构,它只允许在一端进行插入和删除操作,这一端通常被称为栈顶(Top)。栈的应用场景非常广泛,从函数调用的内部实现到浏览器的前进后退按钮,栈都发挥着重要的作用。今天,我们将一起探索如何在C语言中实现一个简单的栈。在接下来的内容中,我们将首先定义栈的基本结构和操作,然后逐步编写代码来实现这些操作。我们将从创建一个空栈开始,然后实现向栈中添加元素(入栈,Push)、从栈中移除元素(出栈,Pop)、查看栈顶元素以及判断栈是否为空(Empty)等基本操作。
2024-06-19 22:28:42
252
1
原创 C语言之旅:探索单链表
链表是一个强大且基础的数据结构。对于很多初学者来说,链表可能是一个令人望而生畏的主题,因为它涉及到了动态内存分配和指针操作等较为高级的概念。但是,一旦你掌握了链表的基本概念和操作,你会发现它在很多实际应用中都有着广泛的应用。今天,我们就从C语言的角度,来探索一下单链表的基本概念和实现方法。在接下来的篇幅中,我将带你逐步构建一个单链表的简单实现,并解释其中的关键概念和代码逻辑。首先,我们需要明确什么是单链表。
2024-06-02 22:30:03
2226
原创 C语言:顺序表
概念:数据结构是计算机存储、组织数据的方式。具体来说,它是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么⽅式构成,以及数据元素之间呈现的结构。数据结构包含数据的逻辑结构、物理结构以及它们之间的相互关系,并定义了相应的运算,设计了相应的算法。常见的数据结构包括数组、栈、链表、队列、树、图、堆和散列表等。这些数据结构在不同的场景和应用中具有不同的优势和用途。最基础的数据结构:数组。
2024-05-18 16:30:33
833
1
原创 C语言之旅:编译和链接
在ANSI C的任何⼀种实现中,存在两个不同的环境。•翻译环境•执行环境一、翻译环境在这个环境中,源代码(即我们编写的C程序)被转换为可执行的机器指令。这个过程通常涉及到多个阶段,包括预处理、编译、汇编和链接一个C语言的项目中可能有多个 .c 文件一起构建,那多个 .c文件件如何生成可执行程序呢?• 多个.c文件单独经过编译器,编译处理生成对应的目标文件。• 注:在Windows环境下的⽬标⽂件的后缀是 .obj ,Linux环境下目标文件的后缀是 .o。
2024-05-16 16:23:29
838
1
原创 C语言之旅:文件操作
函数名功能适用于fgetc字符输⼊函数所有输⼊流fputc字符输出函数所有输⼊流fgets文本行输⼊函数所有输⼊流fputs文本行输出函数所有输⼊流fscanf格式化输⼊函数所有输⼊流fprintf格式化输出函数所有输⼊流fread⼆进制输⼊文件fwrite⼆进制输出文件。
2024-05-12 22:48:43
997
3
原创 C语言之旅:动态内存管理
柔性数组,是C99标准中引入的一个特性.在C语言中,结构体的最后一个元素可以是一个大小未知的数组,这就是柔性数组。int i;int a[0];//柔性数组成员int i;int a[];//柔性数组成员}type_a;柔性数组的特点:• 结构中的柔性数组成员前面必须至少⼀个其他成员。• sizeof返回的这种结构大小不包括柔性数组的内存。• 包含柔性数组成员的结构用malloc()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。int i;
2024-05-11 22:40:23
978
4
原创 C语言之旅:自定义类型(联合和枚举)
由于 char 数组的大小是5个字节,而 int 通常需要4字节对齐,编译器可能会选择增加1个字节的填充(padding),使得整个 union Un1 的大小为8个字节,以满足 int 的对齐要求。由于联合体的大小至少足够大以容纳其最大的成员,因此Un联合体的大小至少应该是int类型的大小,所以输出为 4。因此,在这个例子中,Red的值为0,Green的值为1,Blue的值为2。这段代码输出了三个地址,它们分别是联合体Un的int成员i的地址、char成员c的地址,以及整个联合体变量un的地址。
2024-05-11 13:50:50
1730
2
原创 数据在内存中的储存
但这里需要注意的是,IEEE 754标准规定了一个隐含的位,该位始终为1(除非数字是特别小的非规格化数),因此它不需要在内存中显式存储。那么,S=1,M=1.01,E=2。对于64位浮点数,最高位的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M。0 1 1 1 1 1 1 1 127 (所有位除了符号位都为1)1 1 1 1 1 1 1 1 -1 (所有位都为1)
2024-05-06 23:01:11
1008
1
原创 C语言 字符函数和字符串函数 (下)
后续的调用中,str 应设为 NULL,以表示从上次调用结束的位置继续分解。strtok 是一个在 C 语言中用于分割字符串的库函数,这个函数将一个字符串分解成一系列的子串,这些子串由指定的分隔符字符或字符串分隔。如果 str2 是 str1 的一个子串,函数返回一个指向 str1 中首次出现 str2 的位置的指针。strstr 函数会从头开始遍历 str1,并在每次迭代中检查从当前位置开始的字符序列是否与 str2 匹配。如果 str2 不是 str1 的子串,函数返回 NULL。
2024-04-30 18:13:35
443
2
原创 C语言指针 初探(上)
这是因为32位系统最多可以寻址2^32个内存单元,每个内存单元的地址可以由一个32位的数来表示,即4个字节。野指针是一个常见的编程错误,它指的是没有被初始化或者已经被释放的内存地址的指针。64位系统可以寻址的内存空间更大,为2^64个内存单元,每个内存单元的地址需要一个64位的数来表示,5.指针的类型:指针的类型决定了它所指向的数据的类型以及指针运算的步长。指针是一个变量,它存储着另一个变量的地址,而不是值,我们可以间接地访问和操作它所指向的地址。指针可以进行一些基本的运算,如加法,减法等。
2024-04-18 18:56:20
595
1
原创 C语言之旅:对函数的初步认识
在C语言中,函数的定义由函数头和函数体两部分组成。函数头包括函数返回类型、函数名和参数列表,而函数体则是包含在大括号内的代码块。其中,return_type是表示函数返回类型,function_name是函数名,parameter list是参数列表。在参数列表中,我们可以定义输入参数、输出参数和无参数。// 函数原型声明上述代码声明了一个名为add的函数,它接受两个参数并返回一个整数。通过以上内容,我们可以了解到C语言中的函数是实现特定功能的重要单元。
2024-01-07 19:02:01
506
1
原创 C语言之旅:数组的认识
在C语言中,数组是一种重要的数据结构,用于存储同一类型的多个数据元素,数组提供了一种方便的方式来组织和访问大量数据,本次我们将了解C语言中数组的定义,初始化,访问和常见操作,让我们更好地理解和运用数组。C语言中数组的下标是从0开始的:type表示数组元素的类型,可以是任何有效的C语言数据类型,如:int,char,floatarrayName是数组的名称,size表示数组的大小,即可以储存的元素的数量。例如,定义一个包含10个整数元素。这将创建一个名为arr的整数数组,可以存储10个整数元素。
2023-12-25 21:05:55
953
原创 C语言之旅:实现简单的扫雷游戏
这只是一个简单的扫雷游戏,我们还可以扩展更多的功能,使游戏可玩性更高。如有不足之处,都可以在评论区指出,大家一起讨论,一起进步,一起加油!
2023-12-17 21:25:36
547
1
原创 C语言之旅:分支与循环
在编程世界中,决策与控制是构建任何复杂程序的基础。C语言作为一种高效的,灵活的编程语言,为我们提供了用于在程序各种逻辑的判断和操作。深入理解这些语句可以让我们写出更高效,可读性更高的代码。
2023-12-04 14:49:46
573
1
原创 C语言之旅,printf和scanf的认识
在实际的编程中我们应具体的需求选择合适的格式控制符,同时也需注意处理各种复杂的输入情况,以保证程序的健壮和易用性。希望这篇文章对你有所帮助。
2023-11-30 17:09:34
468
1
原创 我的C语言之旅
作为初学者的我会选择适合初学者的c语言的在线教程,尝试编写一些简单的程序,认真学习数据结构和算法,加入编程社区学习前辈们的编程经验和学习心得。我是小小番茄,一个正在努力学习的编程技术的初学者,我将开始我的学习之旅,分享我在学习过程中的心得体会,立志成为一个熟练运用编程语言熟透平平无奇的大番茄。我的计划是每周至少花费10小时的时间来学习C语言,我知道学习是一个漫长的过程,但只要愿意去坚持,去努力,总会有回报的。在未来的博客中,我将分享我学习的心得,遇到的挑战以及取得的进步。
2023-11-18 20:36:04
141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人