自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C_指针日志,总结篇

/ // 指针的大小是固定的,创建指针变量时的指针类型只是在对指针解引用时的 内存字节的字节访问限制(最小指针类型是 char* 解引用时只允许访问一个字节内容)// // sizeof的返回类型是size_t类型(也就是无符号数)%zd是 sizeof的专用打印 ,对未使用sizeof时 打印负数时 依旧是负数。// // 在 * 右边 表示修饰的是 左值,也就是所指向的地址值不可更改 但是可以改变指向的空间内容。

2023-12-20 21:54:35 346 1

原创 C_指针学习日志-qsort

/ 注意的点是 函数参数为 void* 类型,使用时需要强转为需要的类型才可以,如果是结构体 看清括号 注意符号优先级,-> 箭头即为 解引用。// -1 防止+1越界 -i 每次搞定一个元素 就不需要再次访问。// // 使用 重定义的名字之后就可以直接创建函数指针变量了。// 如果进来 则此次循环有要交换的元素。// // 简单 但是建议加上注释 避免看不懂。// 逐个字节进行交换 交换完 记得地址++,// 符合条件则交换,,交换以逐个字节进行交换。// // 繁琐 但是可以直接明白变量的意思。

2023-12-05 21:50:11 29

原创 C_指针学习日志 _3

/ // *pa 表示这个一个指针变量 int* 表示 *pa 所指向的类型也一个指针 有一个* 我们称为 1级指针。// // 因为数组指针 最少要用到二维数组。// // 函数也有自己的地址值 ,&add == add 是等同的。// // 解引用需要 解两层引用才能找到 所指向的内容。

2023-12-04 21:52:19 28

原创 C_指针学习日志 2

/// 这里需要注意的是 传地址时 类型大小 只是决定访问内存时访问几个字节的内容,但是不会改变 指针的大小,不是 4就是 8!//void test(int* arr)// 传递的是 数组的首元素地址 地址即是指针 指针大小不是4 就是8 ,而指针类型只是限制指针在解引用时访问的字节数。//{ // 也说明了 sizeof只会求出当前所创建的出来的变量 所占空间的大小,数组传参又是传的是 首元素的地址 此时变量只有一个地址值,所以跨函数无法。

2023-12-04 19:21:20 22

原创 C_指针日志 1 (补充)

/ //// 创建一个 与变量a 同类型的指针 指向a 的地址,然后解引用就可以看到里面的内容 并且可以修改。// //// 创建 int类型 变量 a ,在栈区开辟一块 4个字节的空间 存放用来存放a (小端存放)// //// sizeof 的返回类型是 size_t 类型 所以用 %zd 打印 (无符号数)// // 这里修改 意思是 直接修改 a 的内容,但是 A的内容被const修饰 所以不可修改。// //// 指针大小是根据系统位数的大小来确定的 且是固定的 不会随着指针类型而发生改变。

2023-12-03 21:59:08 18 1

原创 指针学习日志~1

/ // 指针大小 记住只要是指针 32位下就是 4字节,64位下就是 8字节,!// // a的地址又被称为 左值,左值代表的是地址值,不可随便更改,所造成的后果的是 无法正常通过地址 找到所在的地址的空间。// // a的空间又被称为 右值,右值代表的是地址空间所存放的东西,是可以任意修改的(但是需要注意的是 注意类型是否相同)// // 放在* 右边修饰的是 指针所指向的地址不可更改,但是内容可以更改。

2023-11-10 22:04:40 22 1

原创 C_补码 位操作的基本用法

/ // 逗号表达式 ( , , , , , , , ,) 表达式从左向右依次计算 但是最后一个的结果代表整个表达式的结果,因为有可能左边的计算会影响到最后的结果。// 2进制转到16进制 2机制的每四位 对应一个 16进制位,同理 16进制转2进制,16进制的每一位 换算成对应的 4位2进制数(0不可省略)// 2进制转到8进制 2进制的每三位 对应一个 8进制位,同理 8进制转2进制,8进制的每一位 换算成对应的 3位2进制数(0不可省略)// -1 ,VS2022 采用的是 算术右移。

2023-11-06 12:24:25 29

原创 vs2022基本调试技巧!

/ // 想要通过传参过来的数组 再次看到数组所有元素的话需要 在监视窗口 数组名的后面添加一个 英文逗号 然后输入元素个数即可 查看全部数组。// // 代码死循环 ,原因,栈区创建的变量的地址 先创建的变量地址高 后创建的地址低,// // 二维数组擦查看时 数组名+英文逗号+行号 即可查看到每一行的元素信息。// // 调到监视发现 传参过来的数组只能查看到 第一个元素,// // 计算连乘 1*1+1*1*2+1*1*2*3=9。// // 因为数组传参 数组名实际代表的 数组首元素的地址。

2023-11-02 21:20:34 217 1

原创 简易版 扫雷!

用已经学的知识 实现一个 简易的扫雷小游戏!代码敲完最重要的就是 运行出bug后 如何调试!4,玩家输入坐标进行坐标排雷,并检测附近坐标。下一章 简述VS的调试如何使用。main函数调用 .c 游戏开始。不是雷 反馈出附近8个坐标的雷数。具体函数定义的实现 .c。1,打印一个简易游戏菜单。如果是雷 ,游戏结束。

2023-11-01 23:42:44 43 1

原创 C_5,一维数组,二维数组基本用法!

/ 不完全初始化 ,剩余未初始化的元素默认初始化为 0!// 指定在 某行进行初始化 ,用 {} 括起来。是专门存放 临时变量的区域 ,临时的 意思是 进入函数则创建,出函数则 立即销毁,!多维数组 在内存实际存储时 都是以 一维数组的形式进行存储的!

2023-10-25 21:47:59 38 1

原创 C_4__分支与循环基本用法与易错点!

/ // for 循环的执行流程为 创建变量/初值变量-->条件判断-->进入循环体-->判断条件的修改-->判断条件成立-->进入循环体-->依次类推,直到循环条件为假。//switch(scanf("%d", &a))// 注意 如果是这样写的话 会有一点小问题,结果只接收整型 不接受字符的转换。// // 需要注意的是,循环后面的大括号是最好不要丢的,因为如果不加 只会默认执行一条语句,然后根据条件依次循环,// 如果是嵌套循环 或者Switch 那么只会跳出当层的,不会跳出所有的,!

2023-10-16 21:01:03 27 1

原创 C_3-占位符-scanf函数基本用法

/ // printf :f -- format ,格式输出 % 表示的是占位符,后面跟的是 所占位的 类型,%d 就代表的是 所占位的是一个 int 类型的位置。// // 注意!// //// 注意!// // 但是 %c 就不是这样的了,我们知道 计算机里的所有一切都是有一个个的字符组合而成 ,所以,如果不处理好%c的读取的结果,就会造成读取混乱。// //// 注意!

2023-10-14 07:04:27 141 1

原创 C_转义字符与类型变量

/ // 小数的输出格式 VS编译器下,默认是 double类型的,如果需要指定的 float类型 需要在下数后添加 f ,即可。// // printf 的输出格式 是以 双引号为标准的 ,也就是说 就是输出的字符串,只要是 字符串 ,遇到 \0,就会默认此字符串结束,会面即使有内容也不会进行读取。// // \r : \b只回退一个字符位置,而 \r 是直接回退到当前行的 行首 ,同理如果后面还有内容,输出时同样会被覆盖。

2023-10-11 22:22:55 65

原创 C语言第一课!

int main()表示函数调用 int是main返回类型 ()里放参数,这个也是语法规则,然后是 {},大括号里面就是我们正常写的代码 称为-函数的主体,写完主体注意!"abcd" 字符串 最底层也会被解析为一个一个的整型数 然后被分解为二进制,但是被双引号括起来时有一点特殊的是,末尾会有一个容易忽略的 ‘\0’,\0是字符串结束标志,这个一个非常非常重要的一点,现在看起来无所谓,后面就会知道 \0 的作用,(sizeof与strlen)然后就是字符这个东西了,,,生活中 所看见的显示器 键盘。

2023-10-09 22:58:43 26

空空如也

空空如也

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

TA关注的人

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