![](https://img-blog.csdnimg.cn/98d16fa8c7e347139f9ecf2020945378.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言学习专项
文章平均质量分 72
C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,本专栏适合新手入门学习。
记忆&碎片
业精于勤 荒于嬉
展开
-
结构体的对齐规则
结构体自动对齐规则1、确定分配单位(一行分配多少字节)结构体中最大的基本类型 长度决定。2、确定成员的偏移量成员偏移量 = 成员自身类型的整数倍。3、收尾工作结构体的总大小 = 分配单位整数倍原创 2022-10-06 17:22:08 · 641 阅读 · 0 评论 -
strcpy的基本用法详解以及模拟实现strcpy
1.3使用 strcpy的注意事项:1.源字符串必须以 '\0' 结束当拷贝"hello"时字符串的结束标志'\0'也会被拷贝过去,'\0'也是strcpy终止拷贝的一个条件;2.会将源字符串中的 '\0' 拷贝到目标空间3.目标空间必须足够大,以确保能存放源字符串例如 arr[5]=0; strcpy(arr,"hello world");这是错误的4.目标空间必须可变原创 2022-09-04 17:15:01 · 1188 阅读 · 2 评论 -
用C语言实现三子棋
用rand()生成一个随机数,%(求余)上行与列,范围恰好在棋盘内。在while循环中,电脑会寻找空的格子去填上‘#’。使用宏定义可以1.提高代码可读性,扩展性,如果将来要修改棋盘尺寸,代码修改会很方便。(2)如果数组中有元素为’ ‘,那么没满,返回0。如果全不为’ ',满了,返回1。由于数组下标是从0开始的,所以输入的行与列要减一;(3)如果棋盘满了未分出胜负,判为和棋。(1)调用isFull函数。1. 玩家赢了 - *2. 电脑赢了 - #4. 游戏继续 - C。(3)判定两条对角线。...原创 2022-08-08 21:24:59 · 291 阅读 · 0 评论 -
模拟实现strlen的三种方法
strlen所作的时一个计数器的工作,计算字符串长度。它从内存的某个位置(可以时字符串的开头,中间的某个位置,甚至是某个不确定的内存区域)开始扫描,直到遇到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。头文件:string.h。...原创 2022-08-07 15:04:14 · 167 阅读 · 1 评论 -
C语言冒泡排序
冒泡排序指的是在排序时,每次比较数组中相邻的两个数组元素的值,较小的数(从小到大排列)排在较大的数前面。排序的基本思想:两两相邻的元素进行比较,并且可能的话需要进行交换。原创 2022-08-05 20:11:24 · 1518 阅读 · 2 评论 -
C语言入门教程合集
C语言结构紧凑,使用方便,程序执行效率高。有9种控制语句,32个关键字和34种运算符。数据结构丰富,可实现链表,树,栈等复杂的运算。语法不太严格,程序设计自由度大。程序可直接访问物理地址,对硬件操作,移植性好。...原创 2022-08-04 17:25:38 · 3228 阅读 · 1 评论 -
C语言结构体
如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。有时候我们得到的不是一个结构体变量,而是指向一个结构体的指针。结构的成员可以是标量、数组、指针,甚至是其他结构体。结构体传参的时候,要传结构体的地址。函数传参的时候,参数是需要压栈的。结构变量的成员是通过点操作符(.指针访问结构体变量使用->...原创 2022-08-03 20:54:15 · 91 阅读 · 0 评论 -
C语言指针详解(2)
C/C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。所以str1和str2不同,str3和str4相同。指针数组是一个存放指针的数组int(*p)[5];解释p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为5个。...原创 2022-08-02 16:28:43 · 191 阅读 · 0 评论 -
C语言指针详解(1)
1.指针是内存中一个最小单元的编号,也就是地址2.平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量指针变量我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个变量就是指针变量在32位的机器上,地址是32个0或者1组成二进制序列,那地址就得用4个字节的空间来存储,所以一个指针变量的大小就应该是4个字节。那如果在64位机器上,有64个地址线,那一个指针变量的大小是8个字节,才能存放一个地址。指针是用来存放地。...原创 2022-08-01 09:30:12 · 174 阅读 · 0 评论 -
C语言运算符与表达式
1. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。2. %运算符两端必须都是整型,其余的运算对象都可以是整型或实型,返回的是整除之后的余数。3.双目运算符两边的数值类型必须一致才能进行运算,如果不一致,系统先进行一致性转换。......原创 2022-07-30 10:53:50 · 342 阅读 · 0 评论 -
C语言数组详解
1.1数组的创建数组是一组相同类型元素的集合。也就是一组数。数组的创建方式类型说明符数组名[常量表达式];例intn=8;是错误的。1.2数组的初始化当数组创建后,系统会为该数组在内存中开辟一串连续的存储单元。数组创建时arr[]方括号中要为常量表达式,当访问时方括号中可以为变量;[],下标引用操作符。它其实就数组访问的操作符。每个数组的第一个元素都下标总是0,这也称数组下标的下界,所以上述的数组的最后一个元素下标应该是9,这也称为数组下标的上界。......原创 2022-07-28 15:27:01 · 293 阅读 · 0 评论 -
C语言函数详解
自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计,这给程序员一个很大的发挥空间。{statement;//语句项}int为返回类型fun_name函数名part1函数参数。...原创 2022-07-26 11:55:59 · 420 阅读 · 0 评论 -
C语言分支与循环语句
C语言是一门结构化程序设计语言,当C语言用来描述生活中的事物时,会遇到一下分支与循环语句:if语句switch语句while循环do...while循环 for循环原创 2022-07-25 10:42:25 · 186 阅读 · 1 评论 -
C语言基础入门教程
本文旨在大概了解一下C语言中的主要内容。后面的章节会详细讲解每一个内容原创 2022-07-24 09:34:03 · 12133 阅读 · 2 评论