- 博客(45)
- 收藏
- 关注
原创 【C++入门】命名空间
而 "using namespace std" 是 C++ 中用于声明标准命名空间的指令,其作用是将 std 命名空间内的所有标识符(如 cout、endl、string 等)引入当前作用域,使我们无需通过 std:: 前缀即可直接使用这些标准库组件。举个例子:在工作中,我构建了一个函数Add,你也构建了一个函数Add,同时,这两个函数不构成重载(即参数类型一样),那么程序就会报错。cout 和 endl 是干嘛的?这两种方式各有优劣:前者好处是使用方便,但是失去了使用命名空间的本意;
2025-03-02 20:44:47
390
原创 【C/C++】【动态内存管理】 calloc 和 realloc
与 malloc 不同的是, calloc 有两个参数:第一个参数是你所申请的数组的。因此使用 calloc 动态申请数组后不需要进行初始化的操作。,其他要点与 malloc 一致。,第二个参数是你所申请的数组的。单个元素占用空间的大小。
2025-02-13 06:45:00
423
原创 【C/C++】联合体
简单地解释一下以上代码,当结构体gift被使用的时候,联合体中的book和shirt共用一块空间,由于两个结构体(book和shirt)个别性质是独立的,不会同时使用,所以在使用一方的时候,不用在意另外一方的数据被改变,从而减少空间的浪费。如上述代码所示,当使用结构体来声明礼物的时候,在此结构体中使用联合体,可以减少结构体gift占用的空间,从而优化程序。
2025-02-11 19:08:46
430
原创 【C/C++】位段
当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃剩余的位还是利用,这是不确定的。可以看出,结构体和位段是极为相似的,其中一个区别在于位段在变量名后加了一个冒号和一个数字,用于确定开辟的空间大小。位段的成员只能是 int, unsigned int,signed int,char等类型。今天,我将简单的介绍位段的概念。先说结论:位段和结构体是类似的,并且在空间储存上战友,但同时存在难以跨平台的弊端。位段中的成员在内存中从左向右分配,还是从右向左分配,标准尚未定义。
2025-02-11 18:14:59
986
1
原创 【C/C++】指针相关题目(个人笔记)
即,首先打印出4(a递增后的值),然后是一个空格,接着打印出2(a的值),最后换行。我们来详细分析这个C程序的执行流程,并预测它的输出结果。*p首先解引用指针p。执行前缀递增操作++首先执行前缀递减操作。
2024-12-10 13:35:49
250
4
原创 【C/C++】数组相关题目(个人笔记)
首先,a+2是指向第三行的指针(因为数组索引从0开始)。接着,*(a+2)表示第三行的首元素,即a。然后,*(a+2)+3是指向第三行第四个元素的指针(因为从a开始,偏移3个元素位置)。最后,*(*(a+2)+3)就是第三行第四个元素的值,即。接下来,我们将逐一分析每个选项,并确定哪个引用是错误的。在C语言中,数组名是一个常量指针,它指向数组的首地址,并且这个地址是不能被修改的。因此,对数组名进行自增操作(++a)是不允许的,这会导致编译错误。因此,*a代表数组首元素的内容,也就是第一行的首元素,即。
2024-12-10 13:23:44
207
3
原创 【C/C++】关于链表插入函数可能的错误
因为pps只是一个局部变量,它的作用域仅限于这个函数内部。当函数执行完毕后,pps的生命周期就结束了,它对头指针*ps的修改并不会反映到原始的头指针上。,第二个函数不会正确地更新链表的头指针,而第一个函数则会。如果你使用第二个函数来尝试在链表头部插入节点,你会发现链表并没有按照预期被更新。,第一个PushFront函数是正确的,而第二个则是错误的,因为它试图通过一个局部变量来更新头指针,而这是不可能的。,这个变量是头指针*ps的一个副本。然后,它尝试通过修改pps来更新头指针,但这是。
2024-12-09 17:18:56
338
4
原创 【C/C++】浮点数在内存中的储存
IEEE 754标准,( M ) 是有效数字。( M ) 是有效数字。位于内存中的最后一部分。( S ) 是符号位。( S ) 是符号位。
2024-11-08 23:53:37
571
5
原创 【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供
【代码】【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供。
2024-11-03 12:07:00
417
6
原创 【C/C++】字符/字符串函数(1)——由string.h提供
以这种形式输入的字符串不包含 '\0' ,此时程序就会异常运行。第一个字符串大于第二个字符串时,返回一个大于零的数字。第一个字符串小于第二个字符串时,返回一个小于零的数字。空可以看到这里就把 str 放到 tmp 后面去了。第一个字符串等于第二个字符串时,返回0。
2024-10-31 19:51:13
1895
6
原创 【C/C++】qsort函数的学习与使用
而我们可以通过不同的函数(元素的排序,为什么呢?)实现不同类型数组的排序,所以。我们很容易理解,但是。
2024-10-30 00:03:33
960
8
原创 C语言指针的介绍
在日常生活中,我们常常在外出时居住酒店,细心的你一定能发现酒店不同的房间上有着不同的门牌号,上面写着像308,512之类的数字。当你定了酒店之后,你就会拿到一个写有门牌号的钥匙,凭着钥匙就能进入对应的房间。其实指针就和钥匙一样,能指向对应的空间。 1.就像导言里说的,指针就是指向一块特定空间的钥匙。在学习C语言的过程中,我们得知了数据存储是要空间的,而指针就可以指向这块空间以供我们修改里面的数据。 就像指定的钥匙能打开指定的房门一样,我们可以创建指针类型的变量并赋值:
2024-10-29 07:46:45
1799
6
原创 数组指针的相关知识
1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。指针数组:是由 int * 类型之类的指针为元素的数组,是一个数组。2.数组指针指向的是整一个数组,而非那个数组的首元素。数组指针:类型为 int(*)[常量],是一个地址。整一个数组,而非那个数组的首元素。
2024-10-27 10:48:21
578
8
原创 多维数组的深入理解
因此,不妨将二维数组的每一行都看作一个一维数组,这样二维数组arr[2][10]就可以理解为元素数量为二,每个元素均为一维数组的一维数组。只不过其元素的数据类型是 int(*) [10]。
2024-10-27 10:48:02
594
7
原创 【C/C++】scanf函数与printf函数
1,scanf函数是标准输入函数,printf是标准输出函数,包含它们的头文件是stdio.h,在VS中,直接使用此函数会报错,如: 未定义标识符————说明没有包含头文件函数不能正常使用。 2.在加上了头文件后,会发现程序依然无法运行,如: 类
2024-10-26 09:36:23
837
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人