
C语言初阶
文章平均质量分 56
主要是写一些c语言的初阶和进阶语法,便于巩固!
小钱up
执行力,就是生命力!
展开
-
动态内存管理
目录 1.为什么存在动态内存管理 2.动态内存函数的介绍 2.1malloc和free 2.2calloc 2.3realloc 3.常见的动态内存错误 4.柔性数组 4.1柔性数组的概念 4.2柔性数组的特点 4.3柔性数组的使用 4.4柔性数组的的优势 1.为什么存在动态内存管理 当然我们已经掌握的内存开辟方式: int a=10;//局部变量-在栈空间上开辟了四个空间 int g_a=10;//全局变量-静态区 但是上述的开辟空间的方式有两个特点...原创 2021-09-22 21:19:11 · 227 阅读 · 6 评论 -
自定义类型:结构体,枚举,联合
目录 一.结构体 1.结构类型的声明 1.1结构的基础知识 1.2结构的声明 1.3特殊的声明 2.结构体的自引用 3.结构体变量的定义和初始化 4.结构体内存对齐 4.1结构体内存对齐的规则 4.2结构体大小的计算 4.3内存对齐原因 4.4修改默认对齐数 5结构体传参 6结构体位段 6.1什么是位段 6.2位段的内存分配 6.3位段的跨平台问题 二.枚举 1.枚举定义 2.枚举的优点 三.联合体 1.联合类型的定义 2.联合的特点 3.联合大...原创 2021-09-20 20:18:44 · 273 阅读 · 7 评论 -
2021-08-11函数指针
杨氏矩阵 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复杂度小于O(N); #include<stdio.h> void find_k(int a[3][3], int k, int x, int y) { //根据矩阵递增的特点,从右上角开始时间复杂度会相对较小; int n= 0; int m = y - 1; //横坐标不能大于3,纵坐标要大于等于0; while (n < x &原创 2021-09-18 07:53:05 · 160 阅读 · 0 评论 -
2021-08-10字符指针
1.字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 分析:我们先考虑左旋一个字符然后进行for循环满足题目要求的左旋次数,先将字符‘A’保存起来,然后将'BCD‘依次向前移,最后再将’A‘放进最后一位即可满足条件,下面我们进行操作. 代码如下: void my_leftmove(char* arr, int m) { int len = strlen(arr); int i,j; for (i = 0;原创 2021-09-17 16:54:06 · 155 阅读 · 0 评论