![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 67
wanyhong
这个作者很懒,什么都没留下…
展开
-
C语言基础与进阶:结构体
结构体的内存对齐:为了提高内存访问效率,编译器会对结构体进行内存对齐操作,即调整成员变量的位置,使其按照一定的规则对齐。1. 结构体的大小:结构体的大小是其所有成员变量大小的累加,每个成员变量都会占用一定的内存空间。4. 结构体的指针:使用指向结构体的指针可以方便地访问结构体中的成员变量,但是需要注意指针的操作可能会影响内存对齐,导致内存占用过大。7. 结构体的封装:为了提高代码的模块化和可维护性,建议将结构体的定义和使用封装在一个文件中,避免在其他文件中随意使用结构体。原创 2023-11-24 22:28:39 · 369 阅读 · 1 评论 -
C语言基础与进阶:变量、参数、作用域
在C语言中,变量是用于存储数据的容器。我们可以通过使用`int`, `float`, `char`, `bool`等数据类型来定义变量,并为它们分配存储空间。定义变量时,我们需要指定变量的名称和数据类型。int age;// 定义一个整数类型的变量,名为age// 定义一个浮点数类型的变量,名为salary我们可以使用赋值运算符(`=`)为变量赋值。age = 30;// 将整数值30赋给age变量// 将浮点数值5000.0赋给salary变量。原创 2023-11-22 22:18:08 · 72 阅读 · 0 评论 -
C语言基础与进阶:表达式
如果`a > b`为真(非零),结果是`c`;在C语言中,表达式的求值顺序是未定义的,这意味着不同的编译器可能会以不同的顺序计算表达式的各个部分。如果 `a` 和 `b` 不等,`a == b` 的结果为假(零)。* **内存访问模式**:表达式的计算过程中可能会产生大量的临时变量,如果这些变量的访问模式不佳(例如,大量随机访问而非连续访问),可能会导致性能下降。在这个例子中,`a + b` 是一个没有副作用的表达式,而 `a = a + 1` 则有一个明显的副作用,它改变了变量 `a` 的值。原创 2023-11-22 22:08:58 · 247 阅读 · 0 评论 -
C语言基础与进阶:数据结构
C语言,作为一种通用的、过程式的计算机编程语言,广泛应用于计算机科学的各个领域。C语言不仅支持基本的编程操作,如变量、函数和流程控制,还提供了丰富的数据结构,如数组、链表、树、图等。数组是C语言中最基本的数据结构,它用于存储相同类型的元素。然而,数组的长度是固定的,不能动态调整,这在一定程度上限制了其使用范围。链表是一种动态数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。图是由节点和边组成的数据结构,常用于表示对象之间的关系。图可以是有向的或无向的,边可以具有权重。1. 树(Tree)原创 2023-11-22 21:55:18 · 22 阅读 · 0 评论 -
C语言进阶知识 - 指针和内存管理
在C语言中,指针是一种特殊的数据类型,用于存储内存地址。它有一个“地址”属性,可以存储其他变量的地址。使用指针可以间接访问或修改变量的值。int a = 5;// 定义一个整型变量 aint *p;// 定义一个整型指针 pp = &a;// 将指针 p 指向变量 a 的地址printf("a 的值:%d\n", a);// 直接访问变量的值printf("a 的地址:%p\n", &a);// 访问变量的地址printf("通过指针访问 a 的值:%d\n", p);原创 2023-09-13 08:41:33 · 137 阅读 · 1 评论 -
C语言逻辑运算:逻辑与(&&)、逻辑或(||)和逻辑非(!)
详细介绍关于C语言逻辑算法的知识原创 2023-09-13 08:32:02 · 13354 阅读 · 11 评论