
C语言
文章平均质量分 80
我爱西语嫣
叫嚣的泡芙
这个人很完蛋,什么都不会写
展开
-
C语言动态分配内存
这里写目录标题动态分配内存的由来动态内存函数的介绍malloc和free动态分配内存的由来我们已经掌握的内存开辟方式有:int a = 10; //在栈空间上开辟四个字节char arr[10] = {0}; // 在栈空间上开辟10个字节的连续空间上述开辟空间的方式有两个特点:空间开辟的大小是固定的。数组在声明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但对于空间的需求,有时我们需要的空间的大小在程序运行的时候才能知道,那数组编译时开辟空间的方式就不能满足了。这时候就只能原创 2021-06-03 21:26:00 · 286 阅读 · 0 评论 -
结构体内存对齐
结构体的声明结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构的声明struct tag{ member-list;}variable-list;例如描述一个学生:struct Stu{ char name[20];//名字 int age;//年龄 char sex[5];//性别 char id[20];//学号};//分号不能丢特殊的声明在声明结构的时候,可以不完全的声明比如://匿名结构原创 2021-06-02 18:24:47 · 108 阅读 · 0 评论 -
C语言选择结构的程序设计
C语言中,提供了if语句和switch语句来实现选择结构,if语句用于两者选一的情况,而switch语句用于多分支选一的情形。if语句Created with Raphaël 2.2.0开始条件表达式Created with Raphaël 2.2.0开始我的操作确认?结束yesnoCreated with Raphaël 2.2.0开始我的操作确认?结束yesno...原创 2021-04-02 21:29:28 · 1107 阅读 · 0 评论 -
C语言函数
目录函数定义库函数学习strcpy函数学习memset函数自定义函数函数定义函数就是一段可以重复调用的、功能相对独立完整的程序段。//一个只完成加法的自定义函数自定义函数#include <stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 10; int b = 20; int sum = Add(a,b);原创 2021-05-04 22:31:05 · 455 阅读 · 0 评论 -
C语言函数递归
目录函数递归什么是递归递归的两个必要条件函数递归什么是递归程序调用自身的编程技巧称为递归(recursion)。递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小。递归的两个必要条件存在限制条件,当满足这个限制条件的时候,递归便不再继续。每次原创 2021-05-07 14:21:08 · 280 阅读 · 0 评论 -
C语言数组
目录一维数组的创建和初始化数组的创建数组的初始化补充:sizeof与strlen的区别不同存储方式sizeof和strlen的值一维数组的使用一维数组的创建和初始化数组的创建数组是一组相同类型元素的集合。数组的创建方式:type_t arr_name [const_n]//type_t 是指数组的元素类型//const_n 是一个常量表达式,用来指定数组的大小数组创建的实例创建一个数组存放10个整型//正确int arr[10];//错误int n = 10;char ch[n原创 2021-05-08 22:31:48 · 255 阅读 · 2 评论 -
C语言操作符详解
目录操作符和表达式操作符算术操作符移位操作符操作符和表达式操作符分类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符算术操作符 + - * / %除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。对于/操作符如果两个操作数为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。%操作符的两个操作数必须为整数。返回的是整除之后的余数。int main(){ int a = 5 / 2; //商2余1 printf("原创 2021-05-13 18:49:40 · 137 阅读 · 0 评论 -
初识指针
指针是什么?在计算机科学中,指针( Pointer)是编程语言中的一个对象,利用地址,它的值直接指向( points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。——百度百科简而言之,指针是一种特殊的变量,它是用来存放地址的。(存放在指针中的值都被当成地址处理)int main(){ int a = 10; int* p = &a;//定义指针变量p,给p赋原创 2021-05-24 20:11:54 · 139 阅读 · 0 评论 -
初识结构体
文章目录初识结构体结构体变量初识结构体结构体的定义形式为:struct tag{ member-list; //结构体所包含的变量或数组}variable-list; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。例如描述一个学生:struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char gro原创 2021-05-18 16:59:53 · 320 阅读 · 1 评论 -
可恶的匿名结构体类型
我最讨厌挤成一坨的代码。简直就是反人类。但是有些人就是觉得这样的代码简洁。匿名结构体类型就是一种挤在一起的代码。匿名结构体类型正常结构体类型struct Node{ int a; char b; float c;};匿名结构体类型struct{ int a; char b; float c;}x;struct{ int a; char b; float c;}a[20], *p;可以看到匿名结构体比正常的少了一个名字Nod原创 2021-06-06 13:02:48 · 1435 阅读 · 0 评论 -
C语言算术运算符、自增自减运算符和复合赋值运算符
自增自减运算符前置运算——运算符放在变量之前:++变量、–变量。先使变量的值增(或减)1,然后再以变化后的值参与其他运算,即先增减后运算。后置运算——运算符放在变量之后:变量++、变量–。变量先参与其他运算,然后再使变量的值增(或减)1,即先运算后增减。复合赋值运算符复合运算符具体有如下几种:+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=。其含义为exp1 op= exp2等价于exp1=exp1 op exp2例如:a+=3 等价原创 2021-04-03 21:11:27 · 1308 阅读 · 0 评论 -
字符型数据和字符串常量
字符型数据是计算机中用来表示英文字母、符号、汉字的数据。字符型数据只占用1个字节(8位)的内存单元。字符型常量字符串常量是由一对双引号括起来的字符序列。例如,“CHINA”,“C program”,“$12.5”等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下...原创 2021-04-05 21:34:15 · 3149 阅读 · 0 评论