首页 > 其他分享 >讨论

讨论

时间:2024-03-20 20:33:18浏览次数:16  
标签:讨论 malloc 函数 作用域 源文件 编译 变量

讨论

编译预处理

​ 凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分号,不占运行时间。宏替换仅是简单的文本替换,如#define f(x) (x)*(x)替换f(2+2)时就有区别,前者展开为(2+2)*(2+2),后者为2+2*2+2。

​ 如果源文件f2.c中有#include "f1.c" 可以理解为把源文件f1.c原样包含到f2.c中,使f1.c和f2.c融合到一起成为一个C程序编译。所以一个C程序必有主函数,但一个C源文件未必有主函数。

标识符作用域

​ 局部变量是在函数内或复合语句内定义的变量,作用域为定义它的函数内。局部变量有三种类型:自动auto,寄存器register和静态static。

​ 自动变量随着函数的使用与创建消失;寄存器变量分配在cpu中,没有内存地址;静态变量占用固定存储单元,在程序执行过程不释放,直到程序运行结束。

​ 全局变量实在函数外定义的变量,作用域从定义它的位置到整个源文件结束为止,生存期为整个程序运行期间。全局变量都是静态变量

动态存储分配

​ malloc(size)用来创建连续size个字节存储区,返回值类型为void*型。malloc函数常用于动态创建链表结点,如int*p; p=(int*)malloc(sizeof(int));。calloc(n,size)创建n个同一类型的存储空间,可以理解为n个malloc。free(p)释放动态分配的存储单元。

标签:讨论,malloc,函数,作用域,源文件,编译,变量
From: https://www.cnblogs.com/JenckMin/p/18086022

相关文章

  • 勾股定理与分类讨论
    1.若一个直角三角形的两边长分别为12和5,则此三角形的第三边长为_______.2.在△ABC中,AB=15,AC=13,高AD=12,则△ABC的周长为_______.3.如图,在Rt△ABC中,∠C=90°,AB=5cm,AC=3cm,动点P从点B出发沿射线BC以1cm/s的速度移动,设运动的时间为t秒.(1)求BC边的长;(2)当△ABP为......
  • [Note] git清空.git目录后,重新再git init & git remote的讨论
    有这么个不大常见的场景,步骤如下:如果将一个项目的.git文件夹删除rm-rf.git然后再执行gitinit重新初始化一个新的.git文件夹gitinit.接着将gitremote设置为原始项目的服务端地址gitremoteaddoriginhttps://github.com/username/repo.git最后执行gitpu......
  • 主题讨论,第六组
    产品愿景的设定与管理是产品开发过程中至关重要的环节。以下是关于如何将10年后的愿景转化为需求,以及如何应对用户行为改变导致的产品愿景调整的讨论。一、将10年后的愿景转化为需求明确长期愿景:首先,创始人需要清晰地定义10年后的产品愿景。这个愿景应该包括产品的核心价值、目......
  • 以解析csv数据为例,讨论string、char[]、stream 不同类型来源是否能进行高性能读取解析
    篇幅较长,所以首先列举结果,也就是我们的目的核心目的为探索特定场景对不同类型数据进行统一抽象,并达到足够高性能,也就是一份代码实现,对不同类型数据依然高性能以下为结果,也就是我们的目的:对1w行csv数据的string进行RFC4180csv标准进行解析,string类型csv应该比StringRea......
  • 有奖讨论丨你能看出来哪些是 AI 写的代码么?
    随着AI智能浪潮到来,AI智能编码助手成为越来越多开发者的必备工具,GithubCopilot、AmazonCodeWhisperer等AI编码工具陆续登场,去年云栖大会阿里云发布的“通义灵码”同样令人期待。通义灵码:https://tongyi.aliyun.com/lingma/不需要太复杂的操作,AI编码助手们可以帮助开发......
  • 有奖讨论丨你能看出来哪些是 AI 写的代码么?
    随着AI智能浪潮到来,AI智能编码助手成为越来越多开发者的必备工具,GithubCopilot、AmazonCodeWhisperer等AI编码工具陆续登场,去年云栖大会阿里云发布的“通义灵码”同样令人期待。通义灵码:https://tongyi.aliyun.com/lingma/不需要太复杂的操作,AI编码助手们可以帮助......
  • CodeCraft-22 and Codeforces Round 795 (Div. 2)C. Sum of Substrings(分类讨论、贪
    感觉分类讨论的能有点弱。遇到复杂一点的分类讨论的题目,代码就写的巨长。首先观察到处在中间位置的1对答案的贡献是11,具体在中间哪个位置是没有关系的。只有两端的两个位置是比较特殊的\(1位置处的1对答案的贡献是10\)\(2位置处的1对答案的贡献是1\)所有我们考虑将最左端第一......
  • Java_讨论类加载器的双亲委派机制
    双亲委派机制简而言之,当某个类加载器在接到加载请求时,优先会将任务委托给父类加载器,一直到最顶层的类加载器,如果不能成功加载,才会尝试自己加载java.lang.ClassLoaderprotectedClass<?>loadClass(Stringname,booleanresolve)throwsClassNotFoundException{synchron......
  • OpenAI首席执行官Sam Altman与中东投资者和台积电讨论合作,共同开创新一代芯片企业
    Ai工具集导航(Ai-321.com)OpenAI首席执行官SamAltman目前正怀着雄心壮志与中东投资者和著名芯片制造商台积电(TSMC)进行讨论,意图共同创立一家全新的芯片企业。消息人士透露,此举是为了满足OpenAI公司对半导体的持续快速增长需求,并同时减少对英伟达的依赖。这位年仅38岁的企业家已经与......
  • main函数是否需要返回值0的讨论
    在C和C++编程中,程序的入口点通常是main函数。对于main函数,是否需要使用return语句返回值0一直存在争议。本文将探讨main函数是否需要返回值0,并解释不同的观点和其影响。1.返回值0的作用在C和C++中,main函数的返回值表示程序的执行状态。返回值0通常表示程序成功执行并正常终止。因此......