自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 库文件简述

什么事库文件?库就是一组预先编译好的方法的集合。在linux系统中,库文件一般被存储在/lib和/usr/lib中,库的头文件一般会被存储在/usr/include下。库文件可以分为静态库和共享库两种。静态库的命名规则为libxxx.a,共享库的命名规则为libxxx.so。静态库和共享库生成的第一步都是先将需要生成库的“.c”文件编译成为“.o”文件;之后的步骤命令各有各的不同:静态库的命令为:ar crv libfoo.a add.o max.o(这里假设静态库的名称为foo,需要编译的两个

2021-04-16 16:08:29 2964

原创 程序编译链接的四个过程

一个程序从.c文本文件成为一个可执行文件需要进行四个过程。一:预编译过程,.c文件经过预编译成为.i文件。预编译过程主要处理源代码文件中那些以“#”开头的预编译指令,如#include,#define等。linux环境下的指令为:gcc -E main.c -o main.i 。主要处理规则为:1.展开所有的宏定义;2.处理#if,#endif等预编译指令;3.将#include<>包含的文件插入到相应位置;4.删除所有的注释;5.添加行号和文件名标识;6.保留所有的#pr

2021-04-03 14:39:53 2788

原创 2021-03-29

今天讲了很有意思的,自己写<string.h>函数库中的一些函数,比如字符串的链接,字符串的比较等等。有个比较重要的点,全老师说到了,就是在函数调用时一定要先判断指针及字符是否为空。#include<assert.h>assert(NULL!=str);还有const int *p = &a;和int const *p = &a;这两种写法是一样的,封锁i的都是指针的指向能力;int * const p = &a;修饰的是指针变量自身;const

2021-03-31 22:13:11 83

原创 2021-03-25

#include<stdio.h>int FindValue(int* br, int n, int val){ int pos = -1; if (br == nullptr || n < 1) return pos; int left = 0, right = n - 1; while (left <= right) { int mid = (right + left) / 2; if (val < br[mid]) { right = mi

2021-03-31 22:06:33 60

原创 2021-03-24

指针有两个值:1.指针自身的值2.指针所指向的值指针的运算包括:1.指针±整型2.指针-指针要注意,指针和指针是不能相加的。指针加一的能力为:typename *p;p=p+1;编译器对他的解释为:p=p+sizeof(typename)*1;今天的作业#include<stdio.h>#include<stdlib.h>#define Ar_Size 100#define ar_size 10#if 0void Print_Int(int* dr)

2021-03-31 22:04:38 60

原创 2021-3-23

指针分为三类:1.野指针:即int *p;这种未初始化的指针,这在vs2019里是不允许的;2.空指针:int *p=nullptr; 初始化为空指针;3.失效指针(失能指针)。同时指针在32位机中大小为4子节,在64位机中为8子节。在栈区中,以低地址作为首地址,叫做小段端存放。今天没布置作业,主要是一些课上的练习。#include<stdio.h>void fun(int* p){ int a = 200; *p = 100; p = &a;}int ma

2021-03-31 21:59:45 64

原创 2021_3_22

在c语言和c++中不允许出现函数嵌套定义,但是允许嵌套调用(主要是c语言是模块化编程,可我总是喜欢把所有的语句都放在主函数里,这个要改)形参的值改变不会改变实参,但是用指针可以。在指针的定义中,是和变量名结合。同时在c语言里有三种功能第一:两个变量直接如a*b,表示乘号;第二:int * pr声明指针;第三:*pr是解引用。今天的练习是一个简单的计算器,主要是学会使用函数调用。#include<stdio.h>int Add_Int(int a, int b){ retu

2021-03-31 21:55:16 69

原创 2021_3_19学C++第四天

今天上课提到了bool类型,bool类型只有true和false;在c语言中只有0是false,其他的非0都为true。空语句:语句可以为空,也就是除了末尾处的分号以外什么符号都没有。Switch()的参数类型只能是整型类型。今天的作业主要是输入一个数判断它是否为素数#include<stdio.h>bool is_prime(int num){ bool res = true; int i = 2; if (num < 2) { return !res; }

2021-03-31 21:49:35 44

原创 2021_3_18学C++第三天

今天提到了指针,我再初学c的时候最怕的就是这个。首先,指针变量存放谁的地址,*+指针变量就等于谁,初学的时候老师告诉我们这个叫做间接,但是杨老师告诉我们直接把它当作指向的值本身即可。然后是结构体,结构体是的是程序员自己设计的数据类型,具体的在后面还会继续学。还有文件:文件分为文本文件和二进制文件;stdin:标准输入文件,一般指键盘(scanf().getchar());stdout:标准输出文件,一般指显示器(printf(),putchar());stderr:标准错误文件,一般指显示器(p

2021-03-31 21:44:17 106

原创 2021_3_17 学C++第二天

学C++第二天:划重点:昨天的第一个作业,使用的库函数头文件<ctype.h>中主要包含的函数:isalpha():检查字符是否是英文字母;isdigit():检查字符是否是十进制数字;islower():检查字符是否是小写字母;issupper():检查字符是否是大写字母;tolower():将字母转化为小写;toupper():将字母转化为大写;还有几种常量类型:字面常量;宏常量:#define PI 3.14 (在宏定义中一般不需要分号);枚举类型:enmu{,

2021-03-27 02:21:45 143

原创 2021_3_16 学C++第一天

学C++的第一天:预计接下来的一个月内都会重新学习一下C语言。前几天应该都是对c语言大纲的一个过度,第一天就是对c语言的数据类型进行的细致讲解。整数类型:char(1);short(2);int(4);long int(4);long long(8);浮点型:float(4);double(8);long double(8/12/16);布尔类型:bool(1);空类型:void;还有就是编译器的编译过程:.c文件经过预编译形成.i预编译文件,在经过编译形成.o/.obj目标文件,目标文件经

2021-03-21 20:29:49 49

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除