
C语言
一直的Resh
把爱放下会走更远
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VS中Realse版本和Debug版本的区别
vs中的工程有debug和release两个版本:Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,但是不做任何优化(性能有影响),目的是为开发人员提供强大的应用程序调试能力,也就是说只有在Debug模式下,我们才可以使用vs所提供的所有的程序调试功能,比如:单步调试中将光标移至变量处即可以获取该变量的实时数据。Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试,在Release模式下也无法使用vs所有的调试功能。所以不保存调试信息,同时,原创 2020-11-01 18:38:25 · 3749 阅读 · 0 评论 -
从编译器的角度来谈为什么C语言不支持函数重载
函数重载函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或顺序)必须不同,常用来处理实现功能类似数据类型不同的问题例如int Add(int left, int right) {return left+right; }double Add(double left, double right) { return left+right; }long Add(long left, long right) { return l原创 2020-11-01 18:38:16 · 319 阅读 · 0 评论 -
经典递归问题——汉诺塔
每个新手在学习递归的时候,汉诺塔可以说是一个经典的不能再经典的例子汉诺塔我个人很喜欢的一部电影《猩球崛起》中,有一个通过汉诺塔测试猩猩凯撒的母亲智慧的桥段汉诺塔规定:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘,最终要使左右圆盘都以正确的顺序移动到第三根柱子上。这个问题使用递归可以轻松解决。#include<stdio.h> void move(int n,char a,char b,char c){ if(n==1) printf("\t%原创 2020-11-01 18:36:05 · 665 阅读 · 0 评论 -
C自定义类型详解(结构体,枚举,联合)
结构体结构体的声明结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。例如:struct Stu { char name[20];//名字 int age;//年龄 char sex[5];//性别 char id[20];//学号 };//分号不能丢特殊的声明匿名结构体类型struct{ int a; ...原创 2019-11-06 20:56:29 · 613 阅读 · 0 评论 -
结构体内存对齐详解
在学习C语言结构体的时候,我们会遇到一个概念叫做内存对齐,为此专门写一篇博客来进行详细的解释结构体内存对齐规则1、首先要明白,结构体的第一个数据成员在偏移量为0的地址处。2、其他成员存放在对齐数的整数倍地址处。何为对齐数呢?对齐数取编译器默认和该数据成员大小的最小值,vs默认值是8,Linux没有默认对齐数。3、结构体总大小必须是最大对齐数的整数倍。4、结构体的整体对齐数=min(8,m...原创 2019-11-05 11:45:50 · 253 阅读 · 0 评论 -
C语言操作符详解
在C语言学习过程中我们遇到相当多的操作符,这里对它们进行了详细的分类说明供大家查阅。算术操作符算术操作符有以下几种:+ - * / %关于算术操作符:除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法.% 操作符的两个操作数必须为整数。返回的是整除之后的余数。移位操作符移位操...原创 2019-11-02 17:01:41 · 221 阅读 · 0 评论 -
C语言指针(3)——数组传参与指针传参
上部分内容总结了数组指针的用法,我们可以意识到指针是相当重要的一个概念。在编写程序,使用数组和指针的过程中,我们总是要将数组和指针传参给函数,那么函数的参数有什么设计规范呢?一维数组传参#include <stdio.h>void test(int arr[]){}void test(int arr[10]){}void test(int *arr){}void te...原创 2019-10-20 16:50:42 · 11915 阅读 · 0 评论 -
C语言指针(2)——数组指针
上部分内容只是浅显的了解了一下指针,接下来就要掌握一些进阶方面的知识了。指针数组其实本部分内容的重头戏在于数组指针以及它的使用,在总结数组指针之前先来了解一下什么叫做指针数组。指针数组,顾名思义是一个数组,指针数组就是一个存放指针的数组,其数组元素都为指针。指针数组的定义方式是int* arr[10];我们可以在其中存放指针作为元素int *arr[1]={&a}//将a的地...原创 2019-10-20 15:26:43 · 275 阅读 · 0 评论 -
指针——C语言之魂(1)
根据自己的学习进度,本篇博客将会对C语言的灵魂部分——指针做一个初级的描述,以及一些基本细节的讲解。欢迎阅读指正。指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。注意,指针是一个变量。...原创 2019-10-16 02:11:48 · 211 阅读 · 1 评论 -
C语言中conset的作用以及与define的区别
const的作用const在实际编程中使用不多,但是在我的学习过程中遇到了这个语句就要搞清楚。const 是 constant 的缩写,意思是“恒定不变的”。它是定义只读变量的关键字,或者说 const 是定义常变量的关键字。用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值。如果...原创 2019-10-09 17:01:15 · 6174 阅读 · 0 评论 -
C语言小练习【4】
来进行一些日常的小练习做题啦~1、函数实现交换两个数还是要注意要改变实参的值就需要用指针哦void work(int *a, int *b){ int c = 0; c = *a, *a = *b, *b = c;//此处需要定义c而不是*c,否则程序会崩溃}int main(){ int a = 1, b = 2; printf("%d,%d\n", a, b); w...原创 2019-10-07 14:47:02 · 167 阅读 · 0 评论 -
C语言小项目——三子棋
肝了一晚上终于肝出了真正意义上的写程序以来第一个小游戏,也算是个小程序。当当当当,是三子棋没错啦。在正文中讲解会有些混乱,所以我就直接用注释的方式来进行解释。三子棋头文件"三子棋.h"其实通过这个小项目慢慢体会到了编写一个C程序可以将头文件全部整合在一起放在名为.h的后缀文件中,之后再调用的话可以直接通过include来实现,方便快捷,还能使得程序更加有序。但是要注意不能使用<>...原创 2019-10-07 14:40:10 · 486 阅读 · 1 评论 -
用C语言完成猜数字小游戏
猜数字小游戏是我人生中第一次写的游戏,通过这个游戏初步理解到了C语言的趣味性以及简单游戏的基本框架,有点激动,废话不多说先把代码贴出来:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("****...原创 2019-10-04 01:09:08 · 838 阅读 · 0 评论