![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 69
又熟了
一般栏目里的都是一系列的按照循序学的
展开
-
数组(一维、二维)等详细介绍
因此,当你对这个指针加1时,它会跳过整个数组的长度,指向紧接着这个数组后面的内存位置。我们可以看出第三个(&arr+1)与前面的地址差了(十六进制28与50)40格字节(arr[10]),所以&arr表示整个数组的地址。,加法的步长并不是简单的字节增加,而是根据指针所指的数据类型来决定。数组的下标规定从0开始,如果数组有n格元素,那么最后一个元素的下标就是n-1。sizeof(数组名),这里的数组名表示整个数组,计算数组的大小,单位是字节。&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。原创 2024-08-28 01:12:48 · 614 阅读 · 0 评论 -
函数递归必要条件及例子
函数调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接的调用自身。一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的的问题来求解,递归策略。只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大减少程序的代码量。递归的主要思考方法在于:把大事化小。原创 2024-08-27 13:43:02 · 578 阅读 · 0 评论 -
第一个C语言项目
右键“源文件”—>“添加”->“新项目”(若该项目的拓展名为.cpp(该拓展名为cPlusPlus),我们需要将其修改为.c(c语言的拓展名))写入参数void,明确说明主函数不需要参数(当然不写也可以).cpp 编译器会按照c++的语法来编译代码。.c 编译器会按照c的语法来编译代码。输出hello world代码编写。原创 2024-07-30 23:55:46 · 302 阅读 · 0 评论 -
指针地址指针变量
指针就是用来存放地址的。我国的国土面积大,但人均占有少,合理分配极为重要。以一栋楼房为例子,一层10户,5层便是50户。送外卖若是只知道目标在这一栋中,而无门牌号及其他的信息,只能挨家挨户的找过去,无用的消耗巨大。若是有门牌号及详细的地址信息,便可省去不必要的麻烦,即可节约时间减少占用。本章节对的指针亦是如此。内存会划分一个个的内存单元(一个内存单元的大小为:1byte每个内存单元都有一个编号使用取地址符“&”获取指针地址打印指针a的地址就是当前4个字节中的第一地址,首地址。原创 2024-08-23 12:29:49 · 936 阅读 · 0 评论 -
操作符简介及部分例子
算法操作符+ - * / %/ 是除后取整,% 是除后取余int a = 7;int b = 2;//除号的两端都是整数的时候执行整数除法//取模(取余)//如果两端只要有一个浮点数就执行浮点数除法//.2是取到小数点后两位的意思return 0;移位操作符>> <<位操作符& ^ |赋值操作符关系操作符> >= < <=!= ==双目操作符 + //单目操作符 - 只有一个操作数的操作符!逻辑反操作负值正值取地址sizeof操作数的字符长度(以字节为单位)原创 2024-08-18 20:26:04 · 485 阅读 · 0 评论 -
define定义常量和宏
使用格式:# define 宏名 (宏的参数,宏的参数)宏体**宏与函数相似,但不是函数,宏是替换,函数是传参数 **1# define _CRT_SECURE_NO_WARNINGS 1 # include # define add(x , y)((x) +(y) //使用define定义宏 int main() {} //输出:15。原创 2024-08-22 12:10:48 · 349 阅读 · 0 评论 -
c语言注释
这两种风格c语言都可以使用,一般都是使用c++提供的注释风格(//),系统也为这种风格提提供了快捷键及按钮。原创 2024-08-13 11:27:27 · 115 阅读 · 0 评论 -
函数的定义及结构
函数的简单加法代码;原创 2024-08-18 20:11:09 · 181 阅读 · 0 评论 -
什么是结构体?
结构体指针变量,声明方式会稍微复杂一些,因为我们需要指定。使用指针变量打印结构体成员,使用箭头运算符。注:下方的print函数是自定义函数,结构体是把一些单一类型的组合在一起。使用函数输出,结构体成员,原理同上;定义结构体,创建结构体实例,并输出。,是自定义的函数名,不要理解错了。原创 2024-08-24 17:43:14 · 234 阅读 · 0 评论 -
转义字符及例子
简单来说就是转变原来字符的意思。原创 2024-08-12 00:53:11 · 990 阅读 · 0 评论 -
关键字及部分展示
一旦一个变量被static修饰后,就不会放在栈区了,static修饰后就是静态变量,放在了静态区。static修饰全局变量的时候,这个时候全局变量的外部属性,就变成内部链接属性。static修饰函数的时候,这个时候全局函数的外部属性,就变成内部链接属性。1.使用了static修饰局部变量的时候,局部变量出了作用域,不销毁的。放在静态区的数据,出了作用域是不销毁的,程序的生命周期结束了才销毁。本质上,static修饰局部变量的时候,改变了变量的存储位置。我们在使用的时候就感觉,作用域变小了。原创 2024-08-21 01:51:36 · 927 阅读 · 0 评论 -
数据类型的分析
100#define Str "标识符不仅可以是整数"return 0;值不能进行修改100# define Max 100 Max = 200 //运行结果:报出”错误 C2106 “=”: 左操作数必须为左值“原创 2024-08-03 11:36:58 · 844 阅读 · 0 评论 -
分支循环语句和getputchar的用法
scanf与getchat共用一个输入缓冲区,当第一次输入密码时,输入缓冲区被加入了密码和换行符(\n),后密码被password变量取走,输入缓冲区就剩下了一个换行符(\n)。与while循环不同的是,do…如果为真,则执行循环体中的代码,然后再次判断条件表达式,如此往复,直到条件表达式为假时退出循环。当我们获取过了一遍数据,第二次获取其他的键盘数据的时候,原本输入缓冲区的值将会是10,一个换行符的大小(\n)结束的表达式等0,不是判断是赋值,条件为0,即条件为假,就不执行循环语句。原创 2024-08-25 15:17:06 · 1017 阅读 · 0 评论 -
选择语句与循环语句的格式
while循环首先执行循环体中的代码,然后判断条件表达式是否为真。while循环至少会执行一次循环体,即使条件表达式在开始时就为假。在while循环中,首先判断条件表达式是否为真。如果为真,则执行循环体中的代码,然后再次判断条件表达式,如此往复,直到条件表达式为假时退出循环。断条件表达式是否为真。注意,在每个case语句后面通常会有一个break语句,用于跳出switch语句,防止执行多个case语句的代码。for循环首先执行初始化表达式,然后判断条件表达式是否为真。如果为真,则执行循环体中的代码。原创 2024-08-17 11:54:51 · 340 阅读 · 0 评论 -
数组的定义及相关信息
c语言中给了数组的定义:一组相同类型元素的组合。数组的下标是从0开始的。原创 2024-08-18 20:15:46 · 192 阅读 · 0 评论 -
函数参数声明定义静态库的生成
自定义函数也需要包含这些内容。不一样的是这些都是我们自己设计的,有更大的空间。1//函数的定义int max(int x, int y) {//调试的时候(f11)可进入函数调试x : y);int a = 10;int b = 20;//函数的调用//这里进入函数调试函数的定义是指函数的具体实现,交代函数功能的实现。函数的定义顺序是有要求的系统的扫描代码的顺序是从上到下的,add函数定义在main下面,但系统扫描到add被调用时,在之前没有发现有add函数的存在。原创 2024-08-26 02:38:56 · 960 阅读 · 0 评论