10 2022 档案

摘要:详细可看C:字符指针和内存布局 - Morning枫 - 博客园 (cnblogs.com) 内存分区的意义:不同区的生命周期不同,编程更加灵活简洁。 在运行编译生成exe可执行程序后,但是未执行此exe,就已经存在两个区域: 关于代码区: 共享:反复执行的程序只会有一份代码 只读:在执行代码的时候 阅读全文
posted @ 2022-10-31 20:39 Morning枫 阅读(130) 评论(0) 推荐(0) 编辑
摘要:1. 1 #include <iostream> 2 #include <string> 3 4 const int Slong = 5; 5 using namespace std; 6 7 struct student{ 8 string sname; 9 int score; 10 }; 11 阅读全文
posted @ 2022-10-31 19:02 Morning枫 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1.结构体数组: 作用:将自定义的结构体放入到数组中方便维护。 语法: 先定义结构体,才能定义结构体数组 例: 2.结构体指针: 作用:通过指针访问结构体中的成员 (可以利用操作符->通过结构体指针访问结构体属性) 注意指针的数据类型。。。 3.结构体嵌套结构体: 图中,老师的结构体内嵌套了学生的结 阅读全文
posted @ 2022-10-31 10:31 Morning枫 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1.const修饰指针(常量指针): const int * p = &a; 特点:指针的指向可以修改,但是指针指向的值不可以修改。 如图,可以修改指针指向(可以从指向a变成指向b),但是不能修改指向的值(图中的10) 如: const int * p = &a; 2.const修饰常量(指针常量) 阅读全文
posted @ 2022-10-30 22:15 Morning枫 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1.无参无返: 2.有参无返: 3.无参有返: 4.有参有返: ____________________________________________________________________________ 声明问题: 1.函数定义在主函数前面,直接可以调用。 2.函数定义在主函数后面,需 阅读全文
posted @ 2022-10-30 21:46 Morning枫 阅读(80) 评论(0) 推荐(0) 编辑
摘要:1.一维数组 ①三种定义方式: 回顾C: 1)数组的每个元素都是相同的数类型 2)数组放在一块连续的内存空间内 ②一维数组数组名: 用途: 1)统计整个数组在内存中的长度(sizeof(数组名/数组下标...)) 2)获取整个数组元素个数(sizeof(数组名)/sizeof(数组名[数组下标])= 阅读全文
posted @ 2022-10-30 21:32 Morning枫 阅读(49) 评论(0) 推荐(0) 编辑
摘要:类型和C大致相同,此处仅仅列举语法格式和部分例题: ________________________ 1.if 格式与C相同: if(){ } else if(){ } else{ }; 嵌套也相同: if(){ if(){ }; }; 例题:输入三个数字,判断哪个数字最大: 1 #include 阅读全文
posted @ 2022-10-30 20:53 Morning枫 阅读(114) 评论(0) 推荐(0) 编辑
摘要:用于执行代码运算: 与C基本上相同。也存在精度丢失的可能。 1.算术运算符: 2.赋值运算符: 3.比较运算符(返回一个布尔值(真1假0)) 4.逻辑运算符(返回一个布尔值(真1假0)) 小例子(答案采用白色字体): int a = 10; !a = 0; !!a = 1; 输出格式 解释说明(白色 阅读全文
posted @ 2022-10-27 14:15 Morning枫 阅读(43) 评论(0) 推荐(0) 编辑
摘要:用于从键盘获取数据: 语法: 1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 int main(){ 7 //整型、浮点型、字符型 8 int a = 0; 9 cout << "请给整型变量a赋值:" < 阅读全文
posted @ 2022-10-27 14:00 Morning枫 阅读(39) 评论(0) 推荐(0) 编辑
摘要:变量: 例子: cout表示输出命令,区别于C的输出语法格式。。。 常量: 记录程序中不可更改的数据 C++有两类定义常量的方式: 例子: 1.采用#define宏常量(预处理时候进行替换) 2.const修饰的变量 关键字/标识符: 命名规则: 数据类型: 1.整型(以下类型的区别在于所占内存不同 阅读全文
posted @ 2022-10-27 13:46 Morning枫 阅读(78) 评论(0) 推荐(0) 编辑
摘要:1 #include <iostream> 2 using namespace std; 3 4 int main(){ 5 cout << "hello world\n" << endl; 6 cout << "你好\n" << endl; 7 return 0; 8 } 阅读全文
posted @ 2022-10-24 16:16 Morning枫 阅读(32) 评论(0) 推荐(0) 编辑
摘要:基本介绍: C 标准库 – <stdio.h> | 菜鸟教程 (runoob.com) 输入(fread)和输出(fwrite): 二进制文件:图片、视频、音频等。 小案例,把内容输出到屏幕: 有关输入输出的函数: 1.getchar()和putchar() 实例(读取一个单一的字符): 1 #in 阅读全文
posted @ 2022-10-24 15:09 Morning枫 阅读(296) 评论(0) 推荐(0) 编辑
摘要:例子引入: 从中可得知,学生和老师的前四项信息相同,唯有第五项,学生是成绩,老师是教学科目。 如果采用传统结构体,会造成空间的浪费,比如学生采用score,但是course也会占用相应的字节(尽管不调用,但是占了内存空间) 若定义两个结构体分别保存学生和老师的信息,一旦数据多起来,就会有多个结构体类 阅读全文
posted @ 2022-10-19 17:58 Morning枫 阅读(73) 评论(0) 推荐(0) 编辑
摘要:目的:为了解决存储同一个对象拥有不同类型属性的问题。 声明结构体: 关于成员: 总的来说: 1.结构体成员==结构体包含的变量 2.允许结构体内再嵌套系欸沟通 成员的注意事项和细节: 关于第三点: 运行上面的程序会异常终止! 小例子: 结构体与结构体变量的关系: 其中,成员内包含了:名字、年龄、颜色 阅读全文
posted @ 2022-10-17 18:16 Morning枫 阅读(137) 评论(0) 推荐(0) 编辑
摘要:在C中,不同数据在内存中分配说明: 动态内存分配的相关函数: void *只是提供一个纯地址,不指向任何数据,如下图的*p3 void指针类型: 即指针类型为void,不能用*p的方式来取得这个p所指向的变量值,因为它本身就是个纯地址。 a本身是个int整数 这里把a的纯地址赋值给了p3 这里是把i 阅读全文
posted @ 2022-10-15 16:22 Morning枫 阅读(22) 评论(0) 推荐(0) 编辑
摘要:重新回顾指针: C语言指针笔记01 - Morning枫 - 博客园 (cnblogs.com) &ptr 输出指针变量ptr的地址 ptr 输出指针变量ptr保存的地址(一个十六进制的地址,若输出采用%d,则输出一个整数)//字符串自身的地址就是它本身的值 *ptr 输出指针变量ptr保存的地址的 阅读全文
posted @ 2022-10-14 23:15 Morning枫 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1 #include <stdio.h> 2 3 void main(){ 4 int sum = 0; 5 int i = 0; 6 for(i = 0; i < 10; i++){ 7 sum += i; 8 printf("\ni = %d", i); 9 printf("\nsum = %d 阅读全文
posted @ 2022-10-09 19:58 Morning枫 阅读(22) 评论(0) 推荐(0) 编辑
摘要:首先了解定义和语法: 用法1——先定义再初始化 入门案例: 同时分析它的内存布局: 内存布局如下: 代码如下: 1 #include <stdio.h> 2 3 void main(){ 4 int a[4][6]; //表示一个4行6列的二维数组,此时数组里面全是垃圾值,需要初始化 5 int i 阅读全文
posted @ 2022-10-09 15:05 Morning枫 阅读(134) 评论(0) 推荐(0) 编辑
摘要:案例1): 1 #include <stdio.h> 2 3 int seqSearch(int arr[], int arrLen, int val){ //定义一个数组,一个数组长度,目标值 4 for (int i = 0; i < arrLen; i++){ 5 if(arr[i] == v 阅读全文
posted @ 2022-10-08 23:29 Morning枫 阅读(27) 评论(0) 推荐(0) 编辑
摘要:冒泡排序: 案例: 分析: 第一轮排序的代码: 1 #include <stdio.h> 2 3 void main(){ 4 int arr[] = {3,9,-1,10,-2}; 5 int temp = 0; 6 for (int i = 0; i < 4; i++){ 7 if (arr[i 阅读全文
posted @ 2022-10-08 17:15 Morning枫 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1 #include <stdio.h> 2 #include <string.h> 3 4 int main(){ 5 char str1[12] = "Hello"; 6 char str2[12] = "World"; 7 char str3[12]; 8 int len; 9 strcpy( 阅读全文
posted @ 2022-10-08 16:30 Morning枫 阅读(20) 评论(0) 推荐(0) 编辑
摘要:这种情况下系统会默认加\0 1 #include <stdio.h> 2 #include <string.h> 3 4 void main(){ 5 char greenting[] = "Hello"; 6 int i; 7 int len = strlen(greenting); 8 prin 阅读全文
posted @ 2022-10-08 15:23 Morning枫 阅读(31) 评论(0) 推荐(0) 编辑
摘要:注意事项: 关于第三点: 后面?的表示垃圾值或是无用值,反正不知道 关于第四点: 数组已经满了,没有空间放结束标志\0了(空间足够的时候系统会自动给你家\0),因此输出有可能是abc,也有可能是abc+一堆乱码,扩大数组即可解决 因此输出也可能是乱码。 阅读全文
posted @ 2022-10-08 14:38 Morning枫 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1. 1 #include <stdio.h> 2 3 void main(){ 4 char word[26]; 5 for (int i = 0; i < 26; i++){ 6 word[i]='A'+i; 7 } 8 9 for (int i = 0; i < 26; i++){ 10 pr 阅读全文
posted @ 2022-10-08 14:23 Morning枫 阅读(20) 评论(0) 推荐(0) 编辑
摘要:其中,a是数组名,类型为int,[5]是大小,即a数组最多存放五个int类型的数据 1.数组名代表该数组的首地址,即a[0]的地址 2.数组的各个元素是连续分布的,如:a[0]地址为0x1123,则a[1]的地址为0x1123+int的字节数(通常是4),即0x1123+4=0x1127,其余类推即 阅读全文
posted @ 2022-10-08 14:07 Morning枫 阅读(86) 评论(0) 推荐(0) 编辑
摘要:预处理命令: 预处理在编译前就执行了!! 快速入门小案例: 1 #include <stdio.h> 2 #if _WIN32 3 #include <windows.h> 4 #elif __linux__ 5 #include <unistd.h> 6 #endif 7 8 int main() 阅读全文
posted @ 2022-10-08 13:22 Morning枫 阅读(58) 评论(0) 推荐(0) 编辑
摘要:常用sprintf函数,用于其他类型转字符串: 例子: 简单理解一下sprintf的用法即可 注意,其中 a和b之间会输出空格,因为%d %d之间有空格,他们之间有什么,最后输出就有什么,如:%dhhh%d,则输出:a的值hhhb的值 小数点也算位置 字符串转其他类型,需要调用新的头文件: 关于at 阅读全文
posted @ 2022-10-07 16:01 Morning枫 阅读(22) 评论(0) 推荐(0) 编辑
摘要:常用三类系统函数:1)字符串;2)时间;3)数学 1)头文件<string.h>,找C标准库参考手册看即可,里面包含众多 C 标准库 – <string.h> | 菜鸟教程 (runoob.com) 此处提供一个链接仅供参考。 例子: #include <stdio.h> #include <str 阅读全文
posted @ 2022-10-07 15:45 Morning枫 阅读(93) 评论(0) 推荐(0) 编辑
摘要:基本介绍: 对于局部变量来说: 对于第三点,有: 此时调用 输出如下: n=10 n++=11 n=10 n++=11 如果再次调用一次 会输出: n=10 n++=11 n=11 n++=12 取出fn_static()进行分析 第一次执行fn_static(),会执行static int n = 阅读全文
posted @ 2022-10-06 16:03 Morning枫 阅读(21) 评论(0) 推荐(0) 编辑
摘要:说明: 例子: 形参也会被视为当前函数的一个局部变量 如int f1(int n) 其中的n视为f1函数的局部变量 在函数外部定义的变量称之为全局变量,作用域为整个程序 当形参(局部变量)和全局变量同名,会优先使用局部变量(编译器就近原则) 3) 4)通常全局变量会放在一个头文件(xx.h)内 注意 阅读全文
posted @ 2022-10-04 16:31 Morning枫 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-10-04 15:34 Morning枫 阅读(12) 评论(0) 推荐(0) 编辑
摘要:介绍:一个函数在函数体内又调用了本身,称之为递归调用 例子: ①当在函数main内调用test(4)时,执行判断if,由于4>2,执行test(n-1),此时n=4,则传值为test(3) ②继续执行判断if,由于3>2,执行test(n-1),此时n=3,则传值为test(2) ③继续执行判断if 阅读全文
posted @ 2022-10-04 14:33 Morning枫 阅读(230) 评论(0) 推荐(0) 编辑
摘要:1). 每个函数都有一个自己的栈 当调用/执行一个函数时,就会开辟一个独立的空间(栈) 此处优先执行main栈 当接触到test时 会重新创建一个test栈,并且把6传递给test的n 当test栈运行完毕后,它会再次回到main栈(如果函数有返回值,则把返回值赋给接受的变量,再继续执行) 从调用t 阅读全文
posted @ 2022-10-03 22:05 Morning枫 阅读(86) 评论(0) 推荐(0) 编辑
摘要:goto: 基本语法: 例子: 其中,lable1称为标签,运行后,输出start和一个ok3一个ok4 return: 此语句主要与函数有关,此处只简单提及 如有需要请翻阅后续函数章节 阅读全文
posted @ 2022-10-03 21:29 Morning枫 阅读(25) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示