- 博客(19)
- 问答 (6)
- 收藏
- 关注
原创 结构体的声明、初始化及传参等
如果没有使用变量列表创建对象,那么可以使用struct 名称 变量名称,来创建结构体变量。如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,所以会导致性能的下降。这种写法与上面的写法一致,不推荐上面的结构体列表写法。上面的print与print1中通常采用print函数。结构的成员可以是标量、数组、指针,甚至是其他结构体。函数传参的时候,参数是需要压栈的。结构是一些值的集合,这些被称为。上面声明的变量列表可有可无.
2024-09-26 15:08:05 225
原创 操作符详细解析
逻辑反操作- 负值+ 正值& 取地址sizeof 操作数的类型的大小(以字节为单位)对一个数的二进制按位取反– 前置、后置–++ 前置、后置++* 间接访问操作符(解引用操作符)(类型) 强制类型转换。
2024-08-31 20:19:04 976
原创 数组(一维、二维)等详细介绍
因此,当你对这个指针加1时,它会跳过整个数组的长度,指向紧接着这个数组后面的内存位置。我们可以看出第三个(&arr+1)与前面的地址差了(十六进制28与50)40格字节(arr[10]),所以&arr表示整个数组的地址。,加法的步长并不是简单的字节增加,而是根据指针所指的数据类型来决定。数组的下标规定从0开始,如果数组有n格元素,那么最后一个元素的下标就是n-1。sizeof(数组名),这里的数组名表示整个数组,计算数组的大小,单位是字节。&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。
2024-08-28 01:12:48 1059
原创 函数递归必要条件及例子
函数调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接的调用自身。一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的的问题来求解,递归策略。只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大减少程序的代码量。递归的主要思考方法在于:把大事化小。
2024-08-27 13:43:02 815
原创 函数参数声明定义静态库的生成
自定义函数也需要包含这些内容。不一样的是这些都是我们自己设计的,有更大的空间。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 1262
原创 分支循环语句和getputchar的用法
scanf与getchat共用一个输入缓冲区,当第一次输入密码时,输入缓冲区被加入了密码和换行符(\n),后密码被password变量取走,输入缓冲区就剩下了一个换行符(\n)。与while循环不同的是,do…如果为真,则执行循环体中的代码,然后再次判断条件表达式,如此往复,直到条件表达式为假时退出循环。当我们获取过了一遍数据,第二次获取其他的键盘数据的时候,原本输入缓冲区的值将会是10,一个换行符的大小(\n)结束的表达式等0,不是判断是赋值,条件为0,即条件为假,就不执行循环语句。
2024-08-25 15:17:06 1031
原创 什么是结构体?
结构体指针变量,声明方式会稍微复杂一些,因为我们需要指定。使用指针变量打印结构体成员,使用箭头运算符。注:下方的print函数是自定义函数,结构体是把一些单一类型的组合在一起。使用函数输出,结构体成员,原理同上;定义结构体,创建结构体实例,并输出。,是自定义的函数名,不要理解错了。
2024-08-24 17:43:14 246
原创 指针地址指针变量
指针就是用来存放地址的。我国的国土面积大,但人均占有少,合理分配极为重要。以一栋楼房为例子,一层10户,5层便是50户。送外卖若是只知道目标在这一栋中,而无门牌号及其他的信息,只能挨家挨户的找过去,无用的消耗巨大。若是有门牌号及详细的地址信息,便可省去不必要的麻烦,即可节约时间减少占用。本章节对的指针亦是如此。内存会划分一个个的内存单元(一个内存单元的大小为:1byte每个内存单元都有一个编号使用取地址符“&”获取指针地址打印指针a的地址就是当前4个字节中的第一地址,首地址。
2024-08-23 12:29:49 957
原创 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 358
原创 关键字及部分展示
一旦一个变量被static修饰后,就不会放在栈区了,static修饰后就是静态变量,放在了静态区。static修饰全局变量的时候,这个时候全局变量的外部属性,就变成内部链接属性。static修饰函数的时候,这个时候全局函数的外部属性,就变成内部链接属性。1.使用了static修饰局部变量的时候,局部变量出了作用域,不销毁的。放在静态区的数据,出了作用域是不销毁的,程序的生命周期结束了才销毁。本质上,static修饰局部变量的时候,改变了变量的存储位置。我们在使用的时候就感觉,作用域变小了。
2024-08-21 01:51:36 936
原创 操作符简介及部分例子
算法操作符+ - * / %/ 是除后取整,% 是除后取余int a = 7;int b = 2;//除号的两端都是整数的时候执行整数除法//取模(取余)//如果两端只要有一个浮点数就执行浮点数除法//.2是取到小数点后两位的意思return 0;移位操作符>> <<位操作符& ^ |赋值操作符关系操作符> >= < <=!= ==双目操作符 + //单目操作符 - 只有一个操作数的操作符!逻辑反操作负值正值取地址sizeof操作数的字符长度(以字节为单位)
2024-08-18 20:26:04 494
原创 选择语句与循环语句的格式
while循环首先执行循环体中的代码,然后判断条件表达式是否为真。while循环至少会执行一次循环体,即使条件表达式在开始时就为假。在while循环中,首先判断条件表达式是否为真。如果为真,则执行循环体中的代码,然后再次判断条件表达式,如此往复,直到条件表达式为假时退出循环。断条件表达式是否为真。注意,在每个case语句后面通常会有一个break语句,用于跳出switch语句,防止执行多个case语句的代码。for循环首先执行初始化表达式,然后判断条件表达式是否为真。如果为真,则执行循环体中的代码。
2024-08-17 11:54:51 346
原创 数据类型的分析
100#define Str "标识符不仅可以是整数"return 0;值不能进行修改100# define Max 100 Max = 200 //运行结果:报出”错误 C2106 “=”: 左操作数必须为左值“
2024-08-03 11:36:58 851
原创 第一个C语言项目
右键“源文件”—>“添加”->“新项目”(若该项目的拓展名为.cpp(该拓展名为cPlusPlus),我们需要将其修改为.c(c语言的拓展名))写入参数void,明确说明主函数不需要参数(当然不写也可以).cpp 编译器会按照c++的语法来编译代码。.c 编译器会按照c的语法来编译代码。输出hello world代码编写。
2024-07-30 23:55:46 311
空空如也
Android studio代码不知道怎么运行
2023-06-18
微信开发小程序使用wx:for 获取图片转变为轮播图只有显示一张图片怎么办?
2023-03-16
python中文件的"r"和"w"用法,变量的定义赋值问题
2023-01-06
要怎么把app,javaweb后端,还有数据库联系起来
2022-12-12
idea输出字符串数组的字节码,怎么解决
2022-10-09
模拟机无法完全显示Android studio的布局,如何解决?
2022-10-05
jsp的${}不起作用
2022-09-26
Android studio在修改layout_width属性时闪退
2022-09-20
数据库对查询结果的排序为什么长这样
2022-07-06
锚点被下方的所有链接给连到[提问]
2022-06-24
为什么的答案会是这个样子
2022-06-22
为什么第一行出现了编译错误?
2022-01-09
看到不大懂,请求支援
2022-01-03
Java后端与web前端
2021-12-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人