- 博客(14)
- 收藏
- 关注
原创 C语言进阶篇—动态内存管理
C语言提供了一个动态内存开辟的函数:C语言提供了另外一个函数free,专门是用来做动态内存的释放和回收的,函数原型如下:malloc和free都声明在 stdlib.h 头文件中int main()//在栈空间上开辟40个字节的连续空间//动态内存开辟//指向描述error的错误字符串的指针,在vs编译器紫下可能会返回"not enough space"return 1;//返回1,表示打印错误//使用内存int i = 0;for (i = 0;i < 10;i++)
2025-03-26 14:12:20
1081
原创 c语言进阶篇—自定义类型:结构体,枚举,联合
有了结构体类型,那如何定义变量,其实很简单。int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。
2025-03-23 02:02:23
1013
原创 C语言进阶篇—指针
数组指针是指针?还是数组?答案是:指针。我们已经熟悉:整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针应该是:能够指向数组的指针。下面代码哪个是数组指针?//指针数组—p1是数组名,10个元素,类型为int*//数组指针,p2可以指向一个数组,该数组有10个元素,每个元素是int类型//p1, p2分别是什么?//解释:p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。
2025-03-14 14:48:54
820
原创 C语言进阶篇—数据的储存
我们已经学习了基本的内置类型以及他们所占存储空间的大小:char //字符数据类型 1short //短整型 2int //整形 4long //长整型 4/8long long //更长的整形 8float //单精度浮点数 4。
2025-01-22 16:53:52
898
原创 C语言练习题—操作符
注:这些图案有个特点,当下边行数(i)等于下标列数(j)并且下标行数(i)加下标列数(j)等于实际行数(n)减一打印*号,其他打印空格。给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)输入描述:每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。奇数位:0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0。输出:偶数位:0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1。
2025-01-07 13:21:05
1006
原创 C语言学习强化篇—结构体
/结构体变量的创建方式1:struct Peoint high;p3,p4;以上都是全局变量//结构体变量的初始化int main()struct Peo p1 = { "zhangsan","15874215698","男", 181};//局部结构体变量的创建并初始化return 0;嵌套结构体的初始化struct Peoint high;float f;
2024-12-31 15:10:45
950
原创 c语言学习强化篇—指针
在C语言的丰富而深邃的编程世界中,指针以其独特的地位和功能,成为连接程序与硬件的桥梁。它们不仅是一种数据类型,更是程序设计中的一项核心机制,允许开发者直接操作内存地址,从而实现对数据的精确控制。本文将深入探讨C语言中指针的基本概念、使用方法及其应用。目录前言一、指针是什么二、指针和指针类型1.指针解引用2.指针加(减)整数三、野指针1.野指针成因1.1. 指针未初始化1.2.指针越界访问2.如何规避野指针四、指针运算1.指针加减整数2.指针-指针3.指针的关系运算五、指针和数组六、二级指针。
2024-12-30 16:45:13
877
原创 C语言练习—变种水仙花数
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。注:思路2的pow函数作用是求10的次方,例如pow(10,2) = 10^2 = 100;求出 5位数中的所有 Lily Number。1.产生10000~99999之间的数。3. 输出 Lily Number。2.判断是否为Lily Number。
2024-12-26 15:53:30
245
原创 C语言学习强化篇—操作符
在前面我们学习了数组,函数,选择语句和循环语句,今天我们来学习操作符运用,在我们写程序的时候总会用到各种操作符,这些操作符各有特点和用处,下面我将介绍。
2024-12-24 14:05:27
2055
原创 C语言学习强化篇—数组
注:总结来说,这两种初始化方式在内存分配上是相同的,都是5个字节,但在内容填充和用途上有所不同,arr1实际上是生成了a,b,c,\0,最后一个内存被初始化为0,arr2生成了a,b,c,还有两个0,arr1适合作为字符串使用,因为它以空字符结尾;很明显我们可以看到,&arr+1直接跳过了整个数组,这也正说明了&arr是整个数组的地址,而arr指的是首个元素的地址。它其实就数组访问的操作符。跟一维数组类似,在这里面的arr也是代表数组首元素的地址,但是这里跟一维数组不同的是,实际上代表的是一行的地址;
2024-12-18 17:14:03
855
原创 C语言学习强化篇—函数
维基百科中对函数的定义:子程序在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组 成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。如果库函数能干所有的事情,那还要程序员干什么?所有更加重要的是自定义函数。
2024-12-16 11:11:01
2021
原创 C语言学习基础篇
由双引号引起来的一串字符称之为字符串字面值,简称字符串。注:字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不计入字符串内容,如果直接创建一个字符串,系统自动在最后生成一个\0,用于标识字符串达到了末尾。int main()运行结果:原因分析:arr1在创建时为字符串,系统自动为他添加\0,数组长度为4,%s打印字符串的原理是遇到\0就停下,所以值打印出了bit。
2024-11-27 16:47:44
2052
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人