
C
C学习笔记
码灵
爱码。
平时学习新的知识,看到了新的东西,记录下来。
展开
-
C 开发工具CLion安装使用
CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的开发效率。一、CLion下载安装(Windows)1. 下载下载地址:http://www.jetbrains.com/clion/dow..原创 2021-03-21 11:03:24 · 237 阅读 · 0 评论 -
MinGW 安装后的问题 Cannot run program “make“:
解决方法: 到MinGW安装根目录的bin目录下,把mingw32-make.exe文件名改成make.exe就行原创 2021-03-21 10:43:09 · 934 阅读 · 0 评论 -
C 进阶结构体输入参数(含二级指针)
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 结构体作为函数参数输入 * 结构体属性中含有二级指针 * */typedef struct Teacher{ char name[64]; char *alias;//别名 //char student[3][3]; char **students;/.原创 2021-03-09 22:35:10 · 370 阅读 · 0 评论 -
C 进阶结构体输入参数(含一级指针)
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 结构体作为函数参数输入 * 结构体属性中含有一级指针 * */typedef struct Teacher{ char name[64]; char *alias;//别名 int age; int id;} Teacher;//打印void p.原创 2021-03-09 22:33:21 · 213 阅读 · 0 评论 -
C 进阶结构体参数输入
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 结构体作为函数参数输入 * */typedef struct Teacher{ char name[64]; int age; int id;} Teacher;//打印void printTeacherAge(struct Teacher *t1,int.原创 2021-03-09 22:30:43 · 1201 阅读 · 0 评论 -
C 进阶结构体
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 结构体 * */ //定义了一个数据类型 固定大小内存块的别名 还没有分配内存struct Teacher3{ char name[64]; int age; int id;};typedef struct Teacher1{ char name[64.原创 2021-03-09 22:14:11 · 198 阅读 · 0 评论 -
C 进阶多维数组
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 多维数组 : * @return */int main1() { char a[3][4]={"111","1sf"}; for(int i=0;i<3;i++){ for(int j=0;j<4;j++){ prin.原创 2021-03-09 21:56:55 · 106 阅读 · 0 评论 -
C 进阶数组
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 数组 : * 元素类型角度:数组是相同类型的变量有序集合, * 内存角度:;联系一大片内存空间 * 数组名数组首元素的起始地址,但并不是数组的起始地址 * c是数组首元素的地址c+1 步长4个字节 &c 是整个数组的地址&+1 步长200个字节 * @r.原创 2021-03-09 21:48:34 · 143 阅读 · 0 评论 -
C 进阶二级指针输入模型三
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 二级指针做输入 第三种内存模型 * * @return */int main2(){ int i=0,j=0; char **p2=NULL; int num=5; char myBuf[30]; p2=(char **)malloc(sizeof.原创 2021-03-08 22:50:41 · 142 阅读 · 0 评论 -
C 进阶二级指针输入模型二
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 二级指针做输入 第二 种内存模型 * * @return */int main2(){ int i=0,j=0; int num=4; char myBuf[30]; //二维数组 char myArray[10][30]={"aaa","bbb.原创 2021-03-08 22:47:28 · 137 阅读 · 0 评论 -
C 进阶二级指针输入模型一
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * * 二级指针做输入 第一种内存模型 * * @return */int main0(){ int i=0,j=0; int num=0; //数组 数组中每一个元素是指针 指针数组 char * myArray[]={"aaa","bbb","bbb","11.原创 2021-03-08 22:43:49 · 133 阅读 · 0 评论 -
C 进阶常量const
#include <malloc.h>#include <string.h>#include <ctype.h>#include "stdio.h"/** * const 常量只读 * 只读的指针 只读的内存空间 * * @return */int main(){ const int a; int const b; const char *c; char *const d; const char *con.原创 2021-03-08 22:35:39 · 131 阅读 · 0 评论 -
C 进阶笔记字符串
1 字符串定义#include <malloc.h>#include <string.h>#include "stdio.h"/** * 一级指针的典型用法 * 数组 int a[10] * 字符串 * 1 C语言的字符串 以零结尾的字符串 * 2 在C中没有字符串类型,通过字符数组来模拟字符串 * 3 字符串的内存分配, 堆上 栈上 全局区(很重要) * * * * @return */int main0() { //指定长度原创 2021-03-08 22:28:10 · 167 阅读 · 0 评论 -
C 进阶指针(4)
铁律1:指针是一种数据类型 指针也是一种变量,占有内存空间,用来保存内存地址测试指针变量占有内存空间大小2)*p操作内存在指针声明时,*号表示所声明的变量为指针在指针使用时,*号表示 操作 指针所指向的内存空间中的值*p相当于通过地址(p变量的值)找到一块内存;然后操作内存*p放在等号的左边赋值(给内存赋值)*p放在等号的右边取值(从内存获取值)3)指针变量和它指向的内存块是两个不同的概念//含义1 给p赋值p=0x1111; 只会改变指针变量值,不会改变所指的内容.原创 2021-02-28 21:21:55 · 252 阅读 · 0 评论 -
C 进阶内存四区(3)
1 内存四区的建立流程流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行2 内存四区模型和函数调用模型变量传递分析1、一个主程序有n函数组成,c++编译器会建立有几个堆区?有几个栈区?2、函数嵌套调用时,实参地址传给形参后,C++编译器如何管理变量的生命周期?分析:函数A,调用函数B,通过参数传递的变量(内存空间能用吗?)3 案例静态存储区#include "stdio.h..原创 2021-02-28 20:45:40 · 169 阅读 · 0 评论 -
C 进阶笔记数据类型(2)
数据类型可理解为创建变量的模具(模子);是固定内存大小的别名。数据类型的作用:编译器预算对象(变量)分配的内存空间大小。#include "stdio.h"//数据类型分析int main() { //数据类型的用途 //数据类型的本质:固定大小内存块的别名 //b &b 数组数据类型(定义数组类型 定义数组指针 数组类型和数组指针类型的关系) 三个关键 int a;//告诉c编译器分配4个字节的内存 32位机器 int b[10];/原创 2021-02-28 20:29:46 · 148 阅读 · 1 评论 -
C 进阶笔记
C 进阶学习笔记汇总1 快速排序原创 2021-02-28 20:12:48 · 204 阅读 · 0 评论 -
C进阶-快速排序(1)
#include <malloc.h>#include <string.h>#include "stdio.h"void print_arr(int *a, int len){ for(int i=0;i<len;i++){ printf("%d ",a[i]); }}void sort_arr(int *a, int len){ for(int i=0;i<len;i++){ for(int.原创 2021-02-28 20:09:59 · 147 阅读 · 1 评论 -
C++静态库与动态库详解
C++静态库与动态库详解 1 库的概念?库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库。2 动态库与静态库的概念?先回顾一下编译过程:2.1 静态库静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中,对应的链接方式称为静态链接。试想一下,静态库与汇编生成的目标文件(.o文件)一起链接为可执行文件,那么静态库必定跟.o文件格式相似。其实一个静态库可以简单看成是一组目标文件(.o/.obj文件)的归档集合,即很多目原创 2021-02-09 10:10:13 · 582 阅读 · 0 评论