![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++学习笔记
文章平均质量分 50
original_
这个作者很懒,什么都没留下…
展开
-
C++:类和对象
C++:类和对象原创 2022-06-18 16:47:32 · 157 阅读 · 0 评论 -
C++:函数
C++:函数原创 2022-06-17 15:25:01 · 93 阅读 · 0 评论 -
C++:引用
C++:引用原创 2022-06-16 12:34:35 · 117 阅读 · 0 评论 -
C++:初识
c++入门原创 2022-06-16 11:43:35 · 113 阅读 · 0 评论 -
C语言:库文件
C语言:库文件原创 2022-06-13 18:04:31 · 1095 阅读 · 0 评论 -
C语言:预处理指令
C语言:预处理指令原创 2022-06-13 16:55:15 · 247 阅读 · 0 评论 -
C语言:函数指针
C语言:函数指针原创 2022-06-13 16:22:31 · 81 阅读 · 0 评论 -
C语言:结构体偏移量和内存对齐
stddef.h下的offset计算结构体属性相对结构体首地址偏移量#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#include<stddef.h>//offsetof函数所在头文件struct Teacher { char a; int b;};void test0201() { struct Teach原创 2022-05-27 17:28:21 · 417 阅读 · 0 评论 -
C语言:数组进阶I
一维数组名不作为指向数组首地址的指针使用计算数组大小:sizeof(arr)对数组名取地址:&arr得到数组指针,步长是整个数组的长度数组名是一个指针常量,指针的指向不可以修改,而指针指向的值可以修改数组指针的定义方式先定义数组类型,再通过类型定义数组指针void test0201() { int arr[5] = { 1,2,3,4,5 }; //array_type表示存放5个int类型元素的数组的数组类型 typedef int(array_type)[5];原创 2022-05-26 16:11:51 · 133 阅读 · 0 评论 -
C语言:位运算
位运算按位取反:~void test0901() { int num = 2; printf("~num=%d\n", ~num);//输出-3,原码+反码+1=0}按位与:&全真为真,一假为假void test0902() { int num = 123; if ((num & 1) == 1) { printf("num为奇数\n"); } else { printf("num为偶数\n"); }}按位或:|全假为假,一真为真v原创 2022-05-26 09:09:45 · 83 阅读 · 0 评论 -
C语言:文件操作
文件操作系统文件标准输入:stdin,编号0,printf-标准输出标准输出:stdout,编号1,scanf-标准输入标准错误:stderr,编号2,perror-标准错误应用程序启动时,自动被打开;程序执行结束时,自动被关闭文件指针文件指针定义:FILE *fp;文件指针初始化:fp = fopen();操作文件:使用文件读写函数来完成,fputc,fgets,fputs,fgets,fread,fwrite等文件分类设备文件屏幕、键盘、磁盘、网卡、声卡、显卡、扬声器等磁原创 2022-05-05 12:48:34 · 1319 阅读 · 0 评论 -
C语言:结构体、联合体、枚举
结构体不同类型数据的集合数组是相同类型数据的集合结构体定义语法#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>//定义结构体struct student { char name[200]; unsigned int age; char tel[16]; float scores[3]; char sex;} st原创 2022-05-04 17:06:09 · 754 阅读 · 0 评论 -
C语言:作用域与内存
局部变量概念:定义在函数内部的变量作用域:从定义位置开始,到包裹该变量的第一个右大括号结束全局变量概念:定义在函数外部的变量作用域:从定义位置开始,默认到文件结束位置,其他文件如果想使用,可以使用声明的方式将作用域导出1.extern修饰的全局变量可以使用其他文件的定义2.全局变量的默认值为0//test15.c#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int a = 10;int main15(void)原创 2022-05-04 10:55:31 · 167 阅读 · 0 评论 -
C语言:字符串处理函数
指针和字符串字符串定义数组定义的字符串是变量,可读可写;指针定义的字符串是常量,可读不可写;字符串做函数参数字符做函数参数不用提供字符串长度的参数,因为每个字符串都是’\0’结尾字符串处理函数头文件:<string.h>字符串拷贝char* strcpy(char* dest,const char* src);函数作用:将src的内容拷贝到dest,函数返回值和dest一致char* strncpy(char* dest,const char* src,size_t原创 2022-05-01 20:19:32 · 352 阅读 · 0 评论 -
C语言:函数
函数作用代码复用,减少主函数代码量,使主函数逻辑更清晰;函数分类系统库函数:标准c库,libc使用步骤:引入头文件(声明函数)根据函数原型调用函数用户自定义函数使用步骤:提供函数原型、函数实现函数定义包含函数原型和函数体函数原型:返回值类型、函数名、形参列表函数体:具体函数实现函数调用函数名(实参列表)1.函数调用时,实参列表与函数定义的形参列表必须严格对应(参数个数、类型、顺序必须一致)2.实参列表不包含类型名,形参列表要包含类型名函数声明函数声明原创 2022-05-01 14:01:26 · 265 阅读 · 0 评论 -
C语言:指针
指针和内存单元指针:地址内存单元:计算机中内存最小的存储单位。目前计算机的存储单位即一个内存单元为一个字节(8bit),每一个内存单元都有一个唯一的"编号",这个"编号"称为内存单元的地址。指针变量:存地址的变量指针定义和使用指针定义形式linux常用:int *p;windowns常用:int* p;其他:int * p;指针的解引用(也叫间接引用)*p将p变量的内容取出,当成地址看待,找到该地址对应的内存空间做左值,存数据到空间中做右值,取出空间中的内容#原创 2022-05-01 10:44:14 · 197 阅读 · 0 评论 -
C语言:实现自定义strlen
strlen:计算字符串长度#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>//通过数组遍历计数int mystrlen(char str[]) { int i = 0; while (str[i]) { i++; } return i;}//通过指针遍历计数int mystrlen1(char* str) { int i = 0; while (*str) { i++; str++; } return原创 2022-05-01 10:11:52 · 932 阅读 · 0 评论 -
C语言:字符串
字符数组 和 字符串区别字符数组是一个一个字符的集合char str[10] = {'h','e','l','l','o'};//未初始化的以0(对应字符'\0')填充字符串以\0结尾char str[] = "hello";//存储结构为{'h','e','l','l','o','\0'}printf(“%s\n”,str);//使用%s匹配字符串打印时必须碰到’\0’才会结束字符串操作函数gets:获取一个字符串,返回字符串的首地址【不安全】char *gets(原创 2022-04-30 09:58:10 · 188 阅读 · 0 评论 -
C语言:数组
概述相同数据类型的有序集合数组元素地址连续数组名为地址,是数组首元素的地址#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(void) { int arr[] = {10,20,30,40,50,60,70,80,90,100}; printf("arr = %p\n", arr); printf("&arr[0] = %p\n", &arr[0]); printf("&arr[1] =原创 2022-04-29 12:35:23 · 647 阅读 · 0 评论 -
C语言:程序流程结构
选择结构if-else#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(void) { int score; scanf("%d", &score); if (score >= 90) { printf("score=%d,优秀\n", score); } else if(score>=70){ printf("score=%d,良好\n", score); } else i原创 2022-04-29 08:15:02 · 941 阅读 · 0 评论 -
C语言:字符串格式化输入输出
字符串格式化输入输出printf函数%%:显示一个%,''对%无效,需要用"%%"输出%%ns:显示n个字符的字符串,不足n用空格在左侧填充%0ns:显示n个字符的字符串,不足n用0在左侧填充%-ns:显示n个字符的字符串,不足n用空格在右侧填充putchar函数:输出一个字符scanf函数:从键盘接收用户输入//输入整数int a;scanf("%d", &a);//输入整数int a, b, c;scanf("%d %d %d", &a, &am原创 2022-04-28 09:52:48 · 1952 阅读 · 0 评论 -
C语言:数据类型
常量:不会变化的数据字符常量:‘a’字符串常量: “hello”整型常量:10浮点型常量:3.121592宏常量:#define PI 3.141592const关键字修饰的变量:const int a = 10const修饰的变量是只读变量,但是可以通过指针修改数值,所有表示常量时建议使用宏定义的常量变量:会变化的数据定义语法:类型名 变量名 = 变量值变量定义:int a = 1;变量声明:int a;extern int a;1.变量定原创 2022-04-27 12:39:17 · 123 阅读 · 0 评论 -
c程序从源文件到可执行文件
预处理gcc -E hello.c -o hello.i头文件展开:不检查语法错误,可以展开任意文件宏定义替换:将定义的宏符号替换为对应的值替换注释:将注释替换为空行展开条件编译:根据条件来展开指令(#ifdef/#endif)编译gcc -S hello.i -o hello.s逐行检查语法错误(最耗时的过程)将c程序翻译成汇编指令汇编gcc -c hello.s -o hello.o将汇编指令翻译成对应的二进制编码链接gcc hello.o -o hello.e.原创 2022-04-26 11:53:11 · 216 阅读 · 0 评论 -
C语言入门:helloworld
环境安装1. vs安装https://blog.csdn.net/qq_36556893/article/details/88603729?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159966152919725250333957%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159966152919725250333957&am原创 2022-04-26 08:51:32 · 3038 阅读 · 0 评论