C语言学习
文章平均质量分 88
Zy_Joy962
fighting!!
展开
-
【编程基础】进制之间的转换
文本推荐阅读时间20-30mins。详细讲解进制之间转换的原理。让你知其然,知其所以然。原创 2024-03-26 20:46:36 · 1303 阅读 · 0 评论 -
【C语言】操作符
逻辑反操作- 负值+ 正值& 取地址sizeof 操作数的类型长度(以字节为单位)~ 对一个数的二进制按位取反-- 前置、后置-++ 前置、后置++* 间接访问操作符(解引用操作符)(类型) 强制类型转换。原创 2024-05-10 13:25:47 · 869 阅读 · 1 评论 -
原码、反码、补码。有符号整数的表示和运算。
本文介绍在计算机中有符号整数的表示和运算。推荐阅读时长:20分钟介绍了有符号整数的原码,反码,补码。补码转换为原码的方法补码的加减法运算提醒:本文中的例子都是在机器字长为8位的情况是为了更简单的讲解,实际现在都是32位或者64位,不过都是一样的只是位数变多了,原码反码补码的表示,转换还有运算都是一样的~计算机中运算和存储都是使用补码,最后要显示出来是真值(原码)。原创 2024-03-26 20:47:33 · 1206 阅读 · 7 评论 -
【C语言】带你完全理解指针(一)
本篇是对指针知识的初级理解,后续还会有文章带大家了解指针一、指针是什么?指针是什么?1、每个内存单元都有一个编号,把内存单元的编号就称为地址(地址也叫指针)一个内存单元是一个字节2、指针是内存中一个最小单元的编号,也就是地址3.平时口中说的指针,通常指的是指针变量,是用来存放内存地址的变量4.指针的大小在32位平台是4个字节,在64位平台是8个字节。原因:在32位的机器上,地址是32个bite组成二进制序列,因为32个bit就是4字节那地址就得用。原创 2024-03-29 23:28:58 · 864 阅读 · 2 评论 -
【C语言】带你完全理解指针(二)
1.数组指针的定义2&数组名VS数组名3数组指针的使用4. 数组参数、指针参数1.一维数组传参2.二级数组传参3.一级指针传参4 二级指针传参5. 函数指针原创 2024-03-29 23:52:44 · 1127 阅读 · 6 评论 -
【C语言】带你完全理解指针(三)函数指针数组
函数指针数组是什么?首先主语是数组,数组是一个存放相同类型数据的存储空间。那我们已经学习了指针数组,比如:char* arr[5] ———— 字符指针数组,它是一个数组,存放的是字符指针。int* arr[5] ———— 整型指针数组,它是一个数组,存放的是整型指针。所以函数指针数组是存放函数指针的数组,先写出函数指针然后加上数组,比较好写出来假设有这么一个使用场景,我需要将几个函数的地址存放到一个数组中,那应该怎么存?下面给大家介绍一下:函数指针数组。原创 2024-04-01 20:42:22 · 359 阅读 · 4 评论 -
【C语言】带你完全理解指针(四)函数指针的应用sqort函数的实现
当前,我们可以通过参数一和参数二知道起始位置地址(void* base)和元素个数(num),但是仅仅知道起始地址和元素个数是不够的,因为不知道一个元素有多大的,一次需要跳过多少个字节。完成使用cmp来比较两个元素的大小关系了接下来就是完成交换的代码创建一个函数来实现交换,需要的参数肯定要这两个元素的地址,同时还要这两个元素的大小。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。交换函数要完成一个字节一个字节的交换因为可以实现任意类型的交换。原创 2024-04-01 20:53:31 · 1097 阅读 · 6 评论 -
【C语言】带你完全理解指针(五)练习
复习一下对数组名的理解数组名的理解数组名是数组首元素的地址但是有2个例外:1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。原创 2024-04-16 22:00:12 · 842 阅读 · 1 评论 -
【C语言】带你完全理解指针(六)指针笔试题
此时再对cpp进行解引用,找到的是cp[2]即指向了c+1这块空间,再自减1则指向了c这块空间,再解引用找到了c[0]即ENTER中第一个E的地址,此时+3跳过三个char,最后指向ENTER中第二个E的地址,此时用%s打印出来就是。当把a所指的地址赋值给指针p之后,a p指向同一地址,但是由于a认为自己指向的是5个元素的数组,而p认为自己指向的是4个元素的数组,这就会导致它们就算下标相同时访问到的内容也是不一样的,如图所示。此时再对cpp进行解引用,找到cp[1],再解引用,找到c[2]即P的地址。原创 2024-04-16 22:01:16 · 928 阅读 · 3 评论 -
无符号整数的表示和运算
前面的博客讲解了有符号整数的表示和运算,这篇文章来学习无符号整数是如何表示和运算的无符号整数就是我们说的自然数就是0,1,2,3,4这些。在语言我们看到的unsigned short,unsigned int类型就是无符号整数,前面的unsigned表示是无符号的,后面的short,int表示这个整型类型占多少字节。原创 2024-03-27 11:11:08 · 510 阅读 · 1 评论 -
【C语言】自定义类型
声明类型的同时定义变量p1定义结构体变量p2int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。类型声明之后,创建变量然后初始化struct Stu//类型声明//名字int age;//年龄//初始化结构体嵌套初始化int data;//结构体嵌套初始化//结构体嵌套初始化位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。原创 2024-05-10 13:26:23 · 818 阅读 · 0 评论 -
【C语言】结构体
C语言允许在声明结构体类型的同时创建结构体变量。int age;以上代码将student1和student2定义为类型的变量。因此,你可以直接使用student1和student2。例如,就是合法的。同时,这个定义也包含了结构体类型。最前面我们对比了一下数组和结构体记得吗他们是很类似的区别是成员的类型多种多样那么初始化也是类似的。数组初始化是等号后面一个花括号然后放元素不过要按照顺序来初始化如果成员里面有数组也可以这样初始化就是花括号里面再放一个花括号。原创 2024-05-10 13:26:07 · 994 阅读 · 0 评论 -
C语言中字符串函数以及内存函数的使用和注意事项
C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中。字符串常量适用于那些对它不做修改的字符串函数。原创 2024-04-19 09:00:47 · 815 阅读 · 2 评论 -
为什么会出现反码和补码
反码和补码的出现主要是用于解决计算机中负数的表示和计算问题。原创 2024-03-27 11:11:28 · 164 阅读 · 2 评论 -
大小端存储模式和边界对齐
大小端存储和边界对齐原创 2024-03-28 19:47:11 · 1252 阅读 · 1 评论 -
深度剖析数据在内存中的存储
基本的内置类型:char 字符 1字节short 短整型 2字节int 整型 4字节long 长整型 4或8字节long long 更长的整型 8字节float 单精度浮点数 4字节double 双精度浮点数 8字节类型的意义:1.使用这个类型开辟存储空间的大小(决定了使用范围)2.如何看待内存空间的视角。原创 2024-03-28 22:26:54 · 738 阅读 · 3 评论 -
C语言学习必练小游戏-《三子棋》
简单的小游戏。在3×3的棋盘中下棋,一方的棋子连成一条直线(横竖斜)则获胜。用初步学习到的C语言知识去实现它,来锻炼自己。原创 2023-10-09 10:30:00 · 167 阅读 · 11 评论