草庐IT

language-c

全部标签

C 语言指针

基本概念指针代表内存地址。通常在类型关键字的后面加字符*来表示指针,表示指针指向什么类型的值。比如,char*表示一个指向字符的指针,float*表示一个指向float类型值的指针。指针指向的可能还是指针,这时要用两个星号**表示。int**foo;指针变量初始化声明指针变量之后,编译器会为指针变量分配一个内存空间,但是这个内存空间里面的值是随机的。因此,指针变量声明后,必须先让它指向一个分配好的地址,然后再进行读写,这叫做指针变量的初始化。int*p;inti;p=&i;为了防止读写未初始化的指针变量,可以将未初始化的指针变量设为NULL。int*p=NULL;指针运算符*运算符*号除了表示

C 语言流程控制

顺序执行C语言的程序是顺序执行,即先执行前面的语句,再执行后面的语句。条件执行ifif语句用于条件判断,满足条件时,就执行指定的语句。if(expression){statement//表达式expression为真(非0值)时,就执行statement语句。}if(line_num==MAX_LINES){line_num=0;page_num++;}对于只有一条语句的语句体,可以省略大括号。if(x==10)printf("xis10\n");ifelseif(expression){statement}else{//else分支,指定条件不成立时(表达式expression的值为0),所

C 语言变量

变量(variable)可以理解成一块内存区域,通过变量名,可以引用这块内存区域,获取里面存储的值。变量声明C语言的变量,必须先声明后使用,如果一个变量没有声明,就直接使用,会报错。声明变量时,必须把变量的类型告诉编译器。intheight;//声明了变量height,并且指定类型为int(整数)。变量赋值C语言会在变量声明时,就为它分配内存空间,但是不会清除内存里面原来的值。这导致声明变量以后,变量会是一个随机的值,所以变量一定要赋值以后才能使用。intnum=42;num=43;intx=1,y=2;//多个相同类型变量的赋值,可以写在同一行。赋值表达式有返回值,等于等号右边的值。intx

C 语言流程控制

顺序执行C语言的程序是顺序执行,即先执行前面的语句,再执行后面的语句。条件执行ifif语句用于条件判断,满足条件时,就执行指定的语句。if(expression){statement//表达式expression为真(非0值)时,就执行statement语句。}if(line_num==MAX_LINES){line_num=0;page_num++;}对于只有一条语句的语句体,可以省略大括号。if(x==10)printf("xis10\n");ifelseif(expression){statement}else{//else分支,指定条件不成立时(表达式expression的值为0),所

C 语言变量

变量(variable)可以理解成一块内存区域,通过变量名,可以引用这块内存区域,获取里面存储的值。变量声明C语言的变量,必须先声明后使用,如果一个变量没有声明,就直接使用,会报错。声明变量时,必须把变量的类型告诉编译器。intheight;//声明了变量height,并且指定类型为int(整数)。变量赋值C语言会在变量声明时,就为它分配内存空间,但是不会清除内存里面原来的值。这导致声明变量以后,变量会是一个随机的值,所以变量一定要赋值以后才能使用。intnum=42;num=43;intx=1,y=2;//多个相同类型变量的赋值,可以写在同一行。赋值表达式有返回值,等于等号右边的值。intx

const关键字:可改不可改?

可改不可改?常量表达式是指在编译器编译时期就可以的到值的表达式,例如:constinta=3,虽然听起来很简单,但实际上很容易犯错。本文简要总结它们的不同:关于const:顶层const和底层const一般,我们声明const用来存储不变的恒定量:constintMAXN=int_max;用指针指向:constint*pMAXN=&MAXN;这条语句开始的constint实际上是为了MAXN的类型做出的匹配,我们得到的pMAXN实际上是可修改的。那么如何让pMAXN不可修改呢?c++采用’双const‘的方法:constint*constpMAXN=&MAXN;这样,pMAXN成为了不可修改值

const关键字:可改不可改?

可改不可改?常量表达式是指在编译器编译时期就可以的到值的表达式,例如:constinta=3,虽然听起来很简单,但实际上很容易犯错。本文简要总结它们的不同:关于const:顶层const和底层const一般,我们声明const用来存储不变的恒定量:constintMAXN=int_max;用指针指向:constint*pMAXN=&MAXN;这条语句开始的constint实际上是为了MAXN的类型做出的匹配,我们得到的pMAXN实际上是可修改的。那么如何让pMAXN不可修改呢?c++采用’双const‘的方法:constint*constpMAXN=&MAXN;这样,pMAXN成为了不可修改值

string

拼接拼接到字符串末尾stringappend(string&str);stringoperation+=(string&str);//重载+=符号strings="123";s.append("456");//s="123456"s+="789";//s="123456789";查找查找字符串第一次出现的位置(下标),从前往后找intfind(string&str,[intpos]);//从pos位置开始查找,可省略查找字符串最后一次出现的位置(下标),从后往前找intrfind(string&str,[intpos]);//从pos位置开始查找,可省略替换stringreplace(intp

string

拼接拼接到字符串末尾stringappend(string&str);stringoperation+=(string&str);//重载+=符号strings="123";s.append("456");//s="123456"s+="789";//s="123456789";查找查找字符串第一次出现的位置(下标),从前往后找intfind(string&str,[intpos]);//从pos位置开始查找,可省略查找字符串最后一次出现的位置(下标),从后往前找intrfind(string&str,[intpos]);//从pos位置开始查找,可省略替换stringreplace(intp

论文分享丨Holistic Evaluation of Language Models

摘要:该文为大模型评估方向的综述论文。本文分享自华为云社区《【论文分享】《HolisticEvaluationofLanguageModels》》,作者:DevAI。大模型(LLM)已经成为了大多数语言相关的技术的基石,然而大模型的能力、限制、风险还没有被大家完整地认识。该文为大模型评估方向的综述论文,由PercyLiang团队打造,将2022年四月份前的大模型进行了统一的评估。其中,被评估的模型包括GPT-3,InstructGPT等。在经过大量的实验之后,论文提出了一些可供参考的经验总结。1.在所有被评估的模型中,InstructGPT davinciv2(175B)在准确率,鲁棒性,公平