当前位置: 首页 > news >正文

威海住房建设局网站北京seo设计公司

威海住房建设局网站,北京seo设计公司,做网站仓库报表系统,制作网站需要钱吗c/c:栈帧,传值,传址,实参传值给形参,传地址指针给形参 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学&…

c/c++:栈帧,传值,传址,实参传值给形参,传地址指针给形参

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,
c/c++系列文章:
【1】c++:c语言优缺点,visual studio2019如何新建项目,写hello world程序
【2】c/c++:gcc安装,gcc编译hello world文件,system函数调用系统命令,sleep函数
【3】linux下gcc的编译过程和功能,预处理,编译,汇编,链接,.c预处理为.i文件.s文件.o文件.exe文件
【4】c/c++:windows平台下依赖的动态库,c底层是汇编语言,程序断点调试,反汇编,vs快捷键
【5】c/c++:数据类型,常量变量,标识符,有符号整型,无符号unsigned,字符类型,字符串类型,实数类型,浮点型,科学计数法
【6】c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%
【7】c/c++:原码,反码,补码和常见的数据类型取值范围,溢出
【8】c/c++:类型限定符,printf输出格式,putchar,scanf,getchar
【9】c/c++:算术运算符,赋值运算,逻辑运算,比较运算,三目运算,逗号运算,数据类型转换
【10】c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句
【11】c/c++:for循环语句,分号不可省略,表达式可以省略,猜数字游戏,跳转语句continue,break,避免写goto
【12】c/c++:一维数组,初始化数组,循环打印数组,计算数组存储空间,数组元素个数,数组逆序算法
【13】c/c++:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩
【14】c/c++:visual studio的代码快捷键,VS设置自定义默认代码,使用快捷键
【15】c/c++:三维数组,字符数组和字符串,统计字符串中字符出现的频次,scanf输入空格,正则匹配表达式
【16】c/c++:gets(),fgets(),puts(),fputs(),strlen(),字符串拼接函数
【17】c/c++:函数的作用,分类,随机数,函数定义,调用,申明,exit()函数,多文件编程,防止头文件重复
【18】c/c++:指针,指针定义和使用,指针大小4字节,野指针,空指针*p=NULL
【19】c/c++:万能指针,泛型指针,const int *p,int const *p,int *const p,const int *const p,指针与数组,p++,
【20】c/c++:指针p+p-p*p/,数组&a+1,指针减指针,指针实现strlen函数,指针的比较运算,指针数组,多级指针


文章目录

  • c/c++:栈帧,传值,传址,实参传值给形参,传地址指针给形参
    • @[TOC](文章目录)
  • c/c++:栈帧:函数调用,临时在栈空间stack上申请一个内存区域,供函数调用,主要存放形参和局部变量
  • 实参传值,这种方式内存耗费大
  • 你想改变实参的话,需要传递地址指针
  • 总结

c/c++:栈帧:函数调用,临时在栈空间stack上申请一个内存区域,供函数调用,主要存放形参和局部变量

咱们看看这个int类型变量的交换函数

当函数调用结束之后,这个临时内存会被释放的,消失了。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<Windows.h>void swap(int a, int b)
{int tmp = a;a = b;b = tmp;//三杯水交换printf("函数内部:%d,%d\n", a, b);
}void f76(void)
{int a = 10;int b = 20;printf("%d,%d\n", a, b);swap(a, b);printf("%d,%d\n", a, b);
}int main(void)
{f76();system("pause");return 0;
}

在这里插入图片描述
看见没,主函数那ab不动
swap内部,临时申请了变量,你内部怎么骚操作,与外面没关系

电脑的栈区,你swap函数是会在上面临时申请内存的,存放局部变量,形式参数
在这里插入图片描述
上面临时申请的那块空间,就是栈帧

实参传值,这种方式内存耗费大

main函数中有ab【mn】
a=10;m=23
b=20;n=57
在这里插入图片描述

swap函数中有ab
每个函数自己有的栈帧,开辟一个内存区域
tmp=a=10;
在这里插入图片描述

a=b=20;
在这里插入图片描述

b=tmp=10
在这里插入图片描述

swap内部ab确实不同了
但是与main没关系

函数调用这种实际参数,会copy给形参,这叫传递值,传值
是复制一份,而不是传地址指针,不是把ab的地址给它
这和数组不同

swap调用结束,它的栈帧释放
在这里插入图片描述
所以实参传值,不影响主函数的局部变量
调用函数的栈帧会释放,它不影响实参

在这里插入图片描述

你想改变实参的话,需要传递地址指针


void swap3(int* a, int* b)
{int tmp = *a;*a = *b;*b = tmp;//三杯水交换printf("函数内部:%d,%d\n", *a, *b);//ab已经是指针地址
}void f77(void)
{int a = 10;int b = 20;printf("%d,%d\n", a, b);swap3(&a, &b);//取地址printf("%d,%d\n", a, b);
}int main(void)
{f77();system("pause");return 0;
}

在这里插入图片描述
这波就不同了哦

你穿了int类型的地址进去,做解引用之后
操作的就是实参那个地址
必然改变

传递的不是mn本身
而是mn的地址给ab

在这里插入图片描述
然后a给tmp
在这里插入图片描述
b给a
在这里插入图片描述
把tmp拿去给
b
把地址中的57替换了
在这里插入图片描述
然后释放swap的栈帧
你发现,main中的变量,通过指针改了

在这里插入图片描述
这叫传址
通过函数内部的地址,解引用搞定main中的变量替换
在这里插入图片描述


总结

提示:重要经验:

1)
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

http://www.ds6.com.cn/news/82239.html

相关文章:

  • 廊坊高端网站制作seo标题优化
  • 沈阳市网站建设企业深圳网站建设推广方案
  • 北海网站制作上海疫情最新消息
  • 猪八戒网站做软件疫情最新情况
  • 可以做兼职的网站有哪些工作室轻松seo优化排名 快排
  • .net空网站做九九乘法表建网站有哪些步骤
  • 企业网站策划友情链接平台赚钱吗
  • 电子工程师培训机构哪个好宁海关键词优化怎么优化
  • 华为云建网站成都网站设计
  • 泊头网站制作案例日本关键词热搜榜
  • seo自学网视频教程网站搜索优化找哪家
  • wordpress只能建博客吗百度竞价优化排名
  • 色块布局网站首页模板seo基础知识
  • 网站建设需要些什么企业查询免费
  • 吉林省可信网站认证牌匾浙江网站建设推广
  • 童装网站建设日程表百度人工客服电话
  • 网站做webapp建网站找哪个平台好呢
  • 网站排名下降的原因上海seo招聘
  • 黄石做企业网站口碑营销是什么意思
  • 成品网站包含后台么简单的html网页制作
  • 黄埔做网站的公网址大全下载
  • 怎样做免费网站安徽网络推广
  • 做混剪素材网站百度风云榜官网
  • 做网站绿色和什么颜色搭配seo算法是什么
  • 贵州疫情最新消息今天seo外链怎么做
  • 成都市温江区建设局网站深圳百度seo培训
  • 湘潭网站建设多少钱营销型企业网站有哪些平台
  • 做网站找哪家公司好上海aso苹果关键词优化
  • SEO案例网站建设aso优化什么意思是
  • wordpress 4.1 主题知乎关键词排名优化工具