自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 占位符+strlen和sizeof

*1.strlen是字符串函数,单位是字符,计算\0之前的字符个数,需要头文件<string.h>2.sizeof是操作符,不是函数,单位是字节,计算参数所占内存的字节数,不需要头文件**3.多组输入:输入大写字母,输出小写字母(getchar和EOF)%zd——size_t类型(无符号)——sizeof所算出的值。%x——无符号十六进制数。%lf——双精度浮点数。%o——无符号八进制数。%u——无符号十进制数。&f——单精度浮点数。

2024-06-22 21:54:07 125 1

原创 操作符+进制基础知识

一个算法。

2024-06-19 13:38:09 350

原创 顺序表应用——通讯录

顺序表:两个文件 .h和.c.h文件有所需的标准库的头文件定义动态顺序表的结构体——三个成员1.指针,指针的类型重定义,方便类型替换2.有效数据的个数3.空间大小在增删查改之前要比较size(有效数据的个数)和capacity(空间大小) 的大小关系动态申请的空间,一定要销毁掉。

2024-06-08 13:26:30 333

原创 动态内存管理

free只能释放动态开辟的,指向的空间若不是动态开辟的,那free的函数行为是未定义的。3.释放2旧的空间(realloc自己释放,不用free)void*,不知道要开辟什么类型的空间,由使用者自己决定。开辟num个大小为size的空间,并把空间初始化为0。如果开辟成功,返回开辟好空间的指针(就是起始地址)的空间,并返回指向这块空间的指针(返回起始地址)2.free——专门用来做动态内存的释放和回收。3.calloc——也还用来动态申请内存的。2.会将原来空间的数据拷贝一份到新的空间。

2024-06-08 12:58:17 412

原创 顺序表专题

只用数组就会很麻烦,所以有了顺序表。物理结构:不一定连续。逻辑结构:一定连续的。

2024-06-04 23:20:09 171

原创 指针(6)笔试题结尾

还是二维数组的首元素是第一行,别混淆了,所以aa+1是跳过了第一行的5个元素,指向6。注意:++cpp,–cpp只有这两种情况会使变量大小改变,会影响后面的结果。重点在p[4][2]怎么理解,就是两次解引用。a就是个二位数组,位置画出来就能找到。利用补码的知识,算出的地址。

2024-06-03 22:16:37 147

原创 指针(5)笔试题

大注意:strlen计算字符串的大小,若是字符则找不到\0,所以返回随机值。大注意:printf(“%d\n”, strlen(//97不允许访问,记住。大注意:*p类型是char,1个字节。只要是地址,大小就是4/8个字节。和&是可以相互抵消的。

2024-06-02 23:04:48 194

原创 指针(4)

回顾一个概念:void*类型的指针,是不能直接解引用的,也不能进行±整数的运算。之前有学过冒泡排序,但是冒泡排序只能排序整型数据。——需要包含头文件stdlib.h。使用qsortp排序结构体数据。

2024-06-01 20:33:01 238

原创 指针(3)

比较复杂的指针类型,直接写出改成什么样子define也可以定义类型define定义的就是替换来的,所以*只给p3用了,p4就只是整型。

2024-05-31 20:45:55 225

原创 指针(2)

指针数组

2024-05-26 23:51:27 170

原创 指针(1)

需要包含头文件,运行时确保程序符合特定条件,aeesrt()这个宏接收一个表达式作为条件,条件为假时,就会终止程序并且报错,报错位置。a就像就像酒店的房间,只交了一晚上的钱,第二天就没有访问权限了,不代表这个变量消失了,只是你没有访问权限了。修饰的是*p那么指针变量p可以修改,但是指针指向的内容不能改。野指针:指针指向的位置是不可知的,不正确的,没有明确限制的。assert会告诉你错误的程序在那个文件,在程序的第几行。注意:第18行就叫传值调用,传的是a,b变量本身的值。

2024-05-26 12:39:03 680

原创 字符函数和字符串函数

字符串以 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前⾯出现的字符个数(不包含 ‘\0’ )通过递归调用,函数可以顺序地遍历字符串中的每个字符,直到找到结束符为止,从而计算出字符串的长度。在每一次递归调用中,都会检查当前字符是否是结束符,如果不是,则继续递归调用直到找到结束符。如果num太大,字符个数不够用,strncat会追加\0来代替吗?%s遇到\0不会继续打印,遇到\0就停下,所以后面的几个x没有打印。我们对于num的取值,一般是这样计算的(要拷贝的字符的长度)

2024-05-01 20:44:43 749

原创 自定义类型:枚举enum

define 定义的常量是没有类型的。枚举类型和#define对比。相当于给常量值起了个名字。可能取值能够一一列举。枚举的常量是有类型的。

2024-04-20 14:37:16 301

原创 自定义类型:联合体union

比如,我们要搞⼀个活动,要上线⼀个礼品兑换单,礼品兑换单中有三种商品:图书、杯⼦、衬衫。当最大的成员大小不是最大对齐数的整数倍时,就对齐到最大对齐数的整数倍。每⼀种商品都有:库存量、价格、商品类型和商品类型相关的其他信息。和结构体一样,联合体也是一个或多个成员构成的,这些成员可以。是不同类型的,但是编译器只为最大的成员分配足够的空间,联合。写⼀个程序,判断当前机器是⼤端?联合体的大小不一定就是最大成员的大小。上面的代码,最大成员大小为5。最大对齐数是4,所以对齐到8。联合体的声明、创建、初始化。

2024-04-20 13:53:17 313

原创 自定义类型:结构体

结构体知识点详解

2024-04-18 11:28:24 280 2

原创 静态顺序表和动态顺序表

空间不够,会丢用户信息,定长数组可能空间不够,数据丢失。Int*arr:动态内存开辟,确定大小后去动态申请。顺序表的特性:逻辑结构一定连续,物理结构连续的。//空间大小 可增容。//顺序表有效的数据个数。增容通常是成倍数增加,一般是2倍2倍的增容。物理结构:内存上存储的样子,不一定连续。第一个问题:要申请多大空间,增容增多少。实际上是数学推理出的,用2、3倍更合理。线性表是具有相同特性的数据结构的集合。在数组的基础上增加了增删查改的方法。若数组大小给的极大,浪费空间。

2024-04-01 21:16:20 194 1

原创 一小部分简单错题总结-是个菜鸟

strlen()和sizeof()的区别,简单C语言概念

2024-03-22 22:44:20 189 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除