- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 数组的学习
在C语言中,数组的声明格式为:类型名 数组名[数组长度];例如:int numbers[5];表示声明了一个包含5个整数的数组。数组的元素可以通过索引来访问,索引从0开始计数。例如,要访问数组numbers中的第一个元素,可以使用numbers[0]。这里定义了4个字符型数组,打开监视功能可获取这些数组的初始化内容,如下所示:观察数组ch1和ch2初始化内容一致,但数组ch3和ch4存放的内容不同,这是因为字符串是以字符“\0”为结束字符存放的,这里初始化时需要注意。
2024-09-05 20:28:50
859
原创 函数的练习
这里我们可以看到,从主函数传递过去的arr变了,不再是数组,而是一个地址,类型由int变成int*,变成了指针,而指针的大小只有4(32位)或8(64位),这里我使用的是64位,所以。sizeof(arr)= 8,而sizeof(arr[0])= 4为一个int类型变量的大小,所以这里sz根本就不是数组的大小,所以运行结果错误。数组名就是数组首元素的地址,所以数组传参时,并没有把整个数组传递给形参,实际上只是传递的数组地址,所以函数里的arr实际上是一个指针变量。函数,用于求解两个数的最大公约数。
2024-08-08 21:32:55
1050
原创 函数的学习(三)
但是如果将加法函数看作是一个模块的话,就可以将函数声明放入头文件add.h中,将函数定义放入源文件add.c中,在主函数需要用到加法模块时,需要引入加法的头文件#include"add.h"即可。但需要注意的是,在使用递归函数时,必须确保递归能够终止,并且递归的层数不能太大,否则可能会导致栈溢出的问题。在上面的示例中,函数的定义中包含了函数体的具体实现,在函数体中定义了一个局部变量sum,计算a和b的和,并将结果返回。需要注意的是,函数的声明和定义必须一致,即参数类型、返回值类型和参数个数必须相同。
2024-08-07 20:28:17
1186
原创 函数的学习(二)
在C语言中,函数的嵌套是指在一个函数内部调用另一个函数。通过函数的嵌套,可以将程序的功能细化,提高代码的可读性和可维护性。函数的嵌套可以是直接嵌套,也可以是间接嵌套。直接嵌套是指一个函数直接在另一个函数内部调用的情况。上述代码中,calculate函数内部先调用add函数计算两个数的和,然后再调用subtract函数计算结果与第二个数的差,并返回最终结果。main函数通过调用calculate函数来获取计算结果。运行结果如下所示:通过函数的嵌套,可以实现程序的模块化和复用,提高代码的可读性和可维护性。
2024-07-31 20:50:19
547
原创 函数的学习(一)
C语言中的用户自定义函数是指用户根据自己的需求定义的函数。通过自定义函数,用户可以将一些常用的代码封装在函数内部,方便重复使用。用户自定义函数的定义与声明分为两部分:函数声明和函数定义。函数声明用于告诉编译器该函数的存在和函数的参数类型和返回值类型。函数声明一般放在程序的开头,通常在头文件中进行声明。函数定义是函数的具体实现,包括函数的参数列表、函数体和返回值。函数定义一般放在程序的其他函数之后。// 函数声明// 函数定义return 0;
2024-07-27 20:13:39
1183
原创 关于使用VS 2022版本中strcpy()函数报错问题
函数的作用是将源字符串的指定个数字符复制到目标字符串中,同时可以指定目标字符串和源字符串的大小。如果不修改大小,就只能减少目标缓冲区的大小,如下所示,运行不会报错,但缺点是字符串复制不全。学习函数时,学到了strcpy()函数,本来打算练习一番,没想到出现了一系列的错误。函数是C语言中的一个字符串函数,用于将一个字符串复制到另一个字符串中。需要注意的是,函数的返回值是一个指向目标字符串的指针。函数可以指定要复制的最大字符数,以避免目标缓冲区溢出的问题。应该是一个足够大的字符数组,以容纳复制的字符串,而。
2024-07-25 20:43:16
1501
原创 关于循环语句练习二
需要注意的是,rand()函数生成的是伪随机数,它们是通过数学算法计算得到的一系列数字,而不是真正的完全随机数。(1)rand()函数: rand()函数用于生成一个0到RAND_MAX之间的随机整数。(2)srand()函数: srand()函数用于设置随机数生成器的种子值。要在C语言中生成1到100之间的随机数,需要使用rand()函数和srand()函数。要使用rand()函数,首先需要调用srand()函数来设置随机数的种子。在C语言中,rand()和srand()是用来生成伪随机数的函数。
2024-07-24 19:48:08
550
原创 关于循环语句的练习一
它的基本思想是:首先将数组(或列表)按照升序(或降序)排列,然后取数组中间位置的元素与目标元素进行比较,如果相等则返回该位置的索引,如果目标元素小于中间元素,则在数组的前半部分继续查找,如果目标元素大于中间元素,则在数组的后半部分继续查找。在C语言中,字符串的长度是根据空字符来确定的。在上面的示例中,字符串"Hello"和字符数组{'H', 'e', 'l', 'l', 'o', '\0'}的长度都是6字节,因为空字符也会占用一个字节的空间。空字符是一个特殊的字符,ASCII码为0,用来表示字符串的结束。
2024-07-22 21:35:54
850
原创 初识分支语句
在C语言中,语句是一组按照特定规则编写的代码,它们被用于执行特定的任务。每个语句通常以分号 (;) 结束。C语言中有多种类型的语句,包括以下几种最常见的:表达式语句:最简单的语句类型之一,用于执行一个表达式,并丢弃其结果。x = 5;代码会执行一个赋值操作,将5赋值给变量x。控制流语句:用于控制程序的执行流程。常见的控制流语句包括条件语句(如if语句和switch语句)和循环语句(如for循环和while循环)。跳转语句:用于在程序中跳转到指定的代码位置。
2024-07-16 20:09:21
898
原创 初始结构体
在C语言中,结构体是一种用户定义的数据类型,用于将不同类型的数据组合在一起,以便更有效地操作和管理这些数据。结构体可以包含不同类型的成员,如整数、字符、浮点数、数组等,甚至是其他结构体。
2024-07-13 20:48:34
564
原创 冒泡排序---qsort函数
在C语言中,qsort函数是标准库中的一个函数,用于对数组进行快速排序。需要特别指出的是,该函数可以比较任意类型的数据。这个函数接受四个参数: 1.‘base’:指向要排序的数组的指针。2. ‘nitems’:数组中的元素个数。3. ‘size’:每个元素的大小(以字节为单位)。4. ‘compar’:指向比较函数的指针,该函数用于确定元素的顺序。比较函数‘compar’需要接受两个指向元素的指针,并返回一个整数值,表示这两个元素的大小关系。
2024-07-10 20:20:53
875
原创 指针参数和函数指针
在C语言中,函数指针是指向函数的指针变量。它允许你在程序运行时动态地选择要调用的函数。函数指针可以像普通函数一样被调用,这使得它们非常灵活和强大。函数指针在C语言中有许多应用,例如在回调函数、事件处理和动态函数调用等方面。它们允许程序在运行时根据需要选择要执行的函数,从而增加了程序的灵活性和可扩展性。
2024-07-06 21:21:06
818
原创 初始数组指针
学习数组指针首先要与指针数组区分开,前面提到,指针数组是用来存放指针的数组,其本质上还是一个数组;而数组指针是用来存放数组地址的指针,其本质上是指针。
2024-07-01 20:35:51
570
原创 初始数组名
这里定义的数组是int(整型)类型,一个整型占4个字节大小,sizeof(arr)是计算整个数组的大小,所以显示的40个字节。从上面的结果可知,arr+1和&arr[0]+1的地址只增加了4个字节,说明这两个操作只是取出该数组的第二个元素的地址;arr和&arr[0]以及&arr,这三种取地址的操作,虽然取出的地址是一样的,但是&arr取出的地址是整个数组的地址,前两种的含义是一样,均代表数组首元素的地址。2.&数组名,这里的数组名表示是整个数组,所以“&数组名”取出的是整个数组的地址。
2024-06-29 21:35:53
268
原创 初识指针数组
运行结果与上面一致,从这里可以看出,指针数组就是存放指针的数组。如果还是不太理解指针数组存放的内容,可以看下面这个写法。指针数组是数组,是用来存放指针的数组。
2024-06-29 17:03:46
291
空空如也
pycharm进行深度学习后C盘爆满
2022-04-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人