精华内容
下载资源
问答
  • c++全局变量的正确声明

    千次阅读 2016-04-12 10:35:51
    C++全局变量声明错误情况 造成LNK2005错误主要有以下几种情况:   1.重复定义全局变量。可能存在两种情况:   A、对于一些初学编程程序员,有时候会以为需要使用全局变量地方就可以使用定义申明...
    C++中全局变量声明错误情况
    造成LNK2005错误主要有以下几种情况:   
      1.重复定义全局变量。可能存在两种情况:   
      A
    、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:int   g_Test;那么在使用的CPP文件中就应该使用:extern   int  g_Test即可,如果还是使用int   g_Test,那么就会产生LNK2005错误,一般错误错误信息类似:AAA.obj   error   LNK2005   int  book   cbook@@3HA   already   defined   in   BBB.obj。切记的就是不能给变量赋值否则还是会有LNK2005错误。   
                    
    这里需要的是声明,不是定义!根据C++标准的规定,一个变量是声明,必须同时满足两个条件,否则就是定义:  
      (1)
    声明必须使用extern关键字;(2)不能给变量赋初值   
      
    所以,下面的是声明:   
      extern   int   a;   
      
    下面的是定义   
      int   a;   int   a   =   0;   extern   int   a   =0;   
      B
    、对于那么编程不是那么严谨的程序员,总是在需要使用变量的文件中随意定义一个全局变量,并且对于变量名也不予考虑,这也往往容易造成变量名重复,而造成LNK2005错误。   
        
      2
    .头文件的包含重复。往往需要包含的头文件中含有变量、函数、类的定义,在其它使用的地方又不得不多次包含之,如果头文件中没有相关的宏等防止重复链接的措施,那么就会产生LNK2005错误。解决办法是在需要包含的头文件中做类似的处理:#ifndef   MY_H_FILE       //如果没有定义这个宏   
      #define   MY_H_FILE       //
    定义这个宏   
      …….       //
    头文件主体内容   
      …….   
      #endif   
      
    上面是使用宏来做的,也可以使用预编译来做,在头文件中加入:   
      #pragma   once   
      //
    头文件主体   
      3
    .使用第三方的库造成的。这种情况主要是C运行期函数库和MFC的库冲突造成的。具体的办法就是将那个提示出错的库放到另外一个库的前面。另外选择不同的C函数库,可能会引起这个错误。微软和C有两种C运行期函数库,一种是普通的函数库:LIBC.LIB,不支持多线程。另外一种是支持多线程的:msvcrt.lib。如果一个工程里,这两种函数库混合使用,可能会引起这个错误,一般情况下它需要MFC的库先于C运行期函数库被链接,因此建议使用支持多线程的msvcrt.lib。所以在使用第三方的库之前首先要知道它链接的是什么库,否则就可能造成LNK2005错误。如果不得不使用第三方的库,可以尝试按下面所说的方法修改,但不能保证一定能解决问题,前两种方法是微软提供的:   
      A
    、选择VC菜单Project->Settings->Link->Catagory选择Input,再在Ignore   libraries   Edit栏中填入你需要忽略的库,如:Nafxcwd.lib;Libcmtd.lib。然后在Object/library   ModulesEdit栏中填入正确的库的顺序,这里需要你能确定什么是正确的顺序,呵呵,God   bless   you   
      B
    、选择VC菜单Project->Settings->Link页,然后在Project   OptionsEdit栏中输入/verbose:lib,这样就可以在编译链接程序过程中在输出窗口看到链接的顺序了。   
      C
    、选择VC菜单Project->Settings->C/C++页,Catagory选择Code   Generation后再在User   Runtime   libraray中选择MultiThread   DLL等其他库,逐一尝试。   
      
    关于编译器的相关处理过程,参考:   
      http://www.donews.net/xzwenlan/archive/2004/12/23/211668.aspx
    展开全文
  • 全局变量的正确声明

    千次阅读 2009-06-03 17:46:00
    造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、...正确的应该是在一个CPP文件定义如下:int g_Test;那么在使用的CPP文件就应该使用:extern int g_Test即可,如果还是使用int

    造成LNK2005错误主要有以下几种情况:  
      1
    .重复定义全局变量。可能存在两种情况:  
      A
    、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:int   g_Test;那么在使用的CPP文件中就应该使用:extern   int   g_Test即可,如果还是使用int   g_Test,那么就会产生LNK2005错误,一般错误错误信息类似:AAA.obj   error   LNK2005   int   book   cbook@@3HA   already   defined   in   BBB.obj。切记的就是不能给变量赋值否则还是会有LNK2005错误。  
                   
    这里需要的是声明,不是定义!根据C++标准的规定,一个变量是声明,必须同时满足两个条件,否则就是定义:  
      (1)
    声明必须使用extern关键字;(2)不能给变量赋初值  
     
    所以,下面的是声明:  
      extern   int   a;  
     
    下面的是定义  
      int   a;   int   a   =   0;   extern   int   a   =0;  
      B
    、对于那么编程不是那么严谨的程序员,总是在需要使用变量的文件中随意定义一个全局变量,并且对于变量名也不予考虑,这也往往容易造成变量名重复,而造成LNK2005错误。  
       
      2
    .头文件的包含重复。往往需要包含的头文件中含有变量、函数、类的定义,在其它使用的地方又不得不多次包含之,如果头文件中没有相关的宏等防止重复链接的措施,那么就会产生LNK2005错误。解决办法是在需要包含的头文件中做类似的处理:#ifndef   MY_H_FILE       //如果没有定义这个宏  
      #define   MY_H_FILE       //
    定义这个宏  
      …….       //
    头文件主体内容  
      …….  
      #endif  
     
    上面是使用宏来做的,也可以使用预编译来做,在头文件中加入:  
      #pragma   once  
      //
    头文件主体  
      3
    .使用第三方的库造成的。这种情况主要是C运行期函数库和MFC的库冲突造成的。具体的办法就是将那个提示出错的库放到另外一个库的前面。另外选择不同的C函数库,可能会引起这个错误。微软和C有两种C运行期函数库,一种是普通的函数库:LIBC.LIB,不支持多线程。另外一种是支持多线程的:msvcrt.lib。如果一个工程里,这两种函数库混合使用,可能会引起这个错误,一般情况下它需要MFC的库先于C运行期函数库被链接,因此建议使用支持多线程的msvcrt.lib。所以在使用第三方的库之前首先要知道它链接的是什么库,否则就可能造成LNK2005错误。如果不得不使用第三方的库,可以尝试按下面所说的方法修改,但不能保证一定能解决问题,前两种方法是微软提供的:  
      A
    、选择VC菜单Project->Settings->Link->Catagory选择Input,再在Ignore   libraries   Edit栏中填入你需要忽略的库,如:Nafxcwd.lib;Libcmtd.lib。然后在Object/library   ModulesEdit栏中填入正确的库的顺序,这里需要你能确定什么是正确的顺序,呵呵,God   bless   you  
      B
    、选择VC菜单Project->Settings->Link页,然后在Project   OptionsEdit栏中输入/verbose:lib,这样就可以在编译链接程序过程中在输出窗口看到链接的顺序了。  
      C
    、选择VC菜单Project->Settings->C/C++页,Catagory选择Code   Generation后再在User   Runtime   libraray中选择MultiThread   DLL等其他库,逐一尝试。  
     
    关于编译器的相关处理过程,参考:  
      http://www.donews.net/xzwenlan/archive/2004/12/23/211668.aspx

    展开全文
  • 下列for语句循环次数为______。 for(x=1,y=0;(y!=19)&...以下属于可燃物一项是:A、棉被、书本、煤油B、酒精、钢筋、树叶C、玻璃、煤气、木材D、柴火、干冰、羽绒若有说明char s1[]="Tha...

    下列的for语句的循环次数为______。 for(x=1,y=0;(y!=19)&&(x<7);x++);

    高温、光辐射虽然在某些时候也能引发燃烧现象,但它们不属于引火源。()A、错误B、正确

    钳工常用的画线工具有划针、划规、角尺、直尺和样冲等。

    以下属于可燃物的一项是:A、棉被、书本、煤油B、酒精、钢筋、树叶C、玻璃、煤气、木材D、柴火、干冰、羽绒

    若有说明char s1[]="That girl",s2[]="is beautiful";则使用函数strcmp(s1,s2)g,结果是______。

    函数调用语句:“fgets(buf,n,fp);”从fp指向的文件中读入,n个字符放到buf字符数组中,函数返回值为_

    电器着火时,首先应该做的是:A、用泡沫灭火器灭火B、切断电源C、用湿棉被覆盖D、赶紧逃出家门

    固态绝缘体内的少数自由电子或离子在电场作用下运动,逐渐形成大量有规律的电子流或离子流,这种现

    《中华人民共和国消防法》第四十四条规定:任何人发现火灾都应当立即报警并参与救援。()A、正确B、错

    锉刀的粗细等级分为1、2、3、4、5号纹五种,3号纹是用于()。A.粗锉刀;B.中粗锉刀;C.细锉刀;D.双细锉刀

    功率因数过低,电源设备的容量就不能充分利用。

    在电动砂轮上进行磨削加工,应防止刀具或工件对砂轮发生强烈的撞击或施加过大的压力。

    在火灾现场,未成年人要坚持的原则是:A、先救火再逃生B、先救人再逃生C、先报警再逃生D、先逃生再报

    下列的for语句的循环次数为______。 for(x=1,y=0;(y!=19)&&(x<7);x++);

    使用高压冲洗机时,工作压力不许()高压泵的允许压力,喷枪严禁对准人,冲洗机的金属外壳必须接地。A

    设y为int型变量,请写出描述“y是偶数”的表达式______。

    固态绝缘体内的少数自由电子或离子在电场作用下运动,逐渐形成大量有规律的电子流或离子流,这种现

    报火警时要保持冷静,电话接通后说清楚:A、起火点地址B、火势大小C、伤亡情况D、着火物质

    线路停电作用时,应在线路开关和刀闸操作手柄上悬挂()的标志牌。A.在此工作;B.止步高压危险;C.禁

    轮放软线或紧线时,滑轮的直径应不小于导线直径的()倍。A.15;B.16;C.17;D.20。

    利用滚动法搬运设备时,对放置滚杠的浸数量有一定要求,如滚杠较少,则所需要的牵引力()。A.增加;B.

    在电动砂轮上进行磨削加工,应防止刀具或工件对砂轮发生强烈的撞击或施加过大的压力。

    检查燃气用具是否漏气,我们可以采用()来寻找漏气点。A、肥皂水B、闻气味C、用眼看D、划火柴

    用样冲冲眼的方法是先将样冲外倾,使尖端对准线的正中,然后再将样冲直立冲眼。

    我国消防宣传活动日是每年的:A、11月9日B、10月1日C、11月19日D、12月2日

    最常见的灭火剂是:A、干冰B、二氧化碳C、湿毛毯D、水

    什么是横吹灭弧方式?

    设y为int型变量,请写出描述“y是偶数”的表达式______。

    用样冲冲眼的方法是先将样冲外倾,使尖端对准线的正中,然后再将样冲直立冲眼。

    引发火灾的常见原因有:A、人为放火B、违法违章操作C、用火不慎D、电气管理不当

    以下属于C类火灾的是:A、图书馆着火B、煤油着火C、实验室的钠、镁着火D、煤气、天然气着火

    尺寸偏差是指实际尺寸与相应的基本尺寸之差。

    消防车和消火栓的颜色是:A、蓝色B、白色C、红色D、黄色

    若有定义:int a[4][4]={{l,2,3,4},{0},{4,6,8,10},{1,3,5,7}},则初始化后,a[2][2]得到的初值是__

    高楼发生着火时,位于上部楼层的居民要乘坐电梯逃生,这样比较快。()A、错误B、正确

    展开全文
  • 在php对于变量命名有...在php程序变量的命名规则是怎样的,以下三种写法,哪种是正确的?第1种:$myname='aa';?>第2种:$myName='aa';?>第3种:$MyName='aa';?>经验分享姓名,年龄:/**变量名字以...

    在php中对于变量命名有什么规则呢,我相信各位都知道简单的但要精细估计不知道,下面我们来看看PHP变量的声明及变量的命名规则的介绍。

    以下三种写法中,哪种是正确的?

    在php程序中,变量的命名规则是怎样的,以下三种写法中,哪种是正确的?

    第1种:

    $myname='aa';

    ?>

    第2种:

    $myName='aa';

    ?>

    第3种:

    $MyName='aa';

    ?>

    经验分享

    姓名,年龄:

    /*

    *变量名字以$开头

    *变量的名称声明时一定要有意义

    *变量不能以数字开头命名,可以用下划线开头,$和变量名不能有空格

    *变量名中不能出现运算符号:加减乘除

    *别的编程语言变量可能不能出现系统关键字,不过php可以,因为php有一个$

    */

    $name = "毕恩竹";

    $age = 20;

    $php = 40;

    echo $age;

    变量名称区只有部分大小写

    /*

    $int和$INT区分大小写,echo不区分大小写

    */

    $int = 10;

    $INT = 20;

    echo $int,"
    ";

    eCho $INT;

    驼峰式命名方式:one two three

    $oneTwoThree = 10;

    变量是用于临时存储值得容器。这些值可以是数字、文本、或者复杂得多的排列组合。是用于跟踪几乎所有类型信息的简单工具。

    PHP是一种非常弱的类型语言。在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,例如C语言中。而在PHP中,变量的类型必须在使用变量前声明,例如C语言中。而在PHP中,变量的类型通常不是由程序员设定的,确切地说,是根据该变量使用的上下文在运行时(即变量的值)决定的。PHP不要求在使用变量之前声明变量,当第一次给第一个变量赋值时,你才创建了这个变量。

    PHP的变量声明是以$符开始的,后面跟大小写字母,数字和下划线,但不能以数字开头。

    $a=100;                            //声明一个变量a,赋予整数100

    $b=”string”;                      //声明一个变量b,赋予字符串string

    $c=true                            //声明一个变量c,赋予布尔值true

    $d=99.99;                        //声明一个变量d,赋予浮尔点99.99

    $key=$a;                         //声明一个key变量,并将a变量的值赋予

    $a=$b=$c=$d=”value”      //同时声明多个变量,并赋予相同的值

    可以使用函数()释放指定的变量,isset()函数检测变量是否设置,empty()数数检查一个变量是否为空

    同时声明多个变量

    $a = $b = $c =$d =10;

    echo $a;

    echo "
    ";

    echo $b;

    echo "
    ";

    echo $c;

    echo "
    ";

    echo $d;

    echo "
    ";

    var_dump();可以打印输出变量类型和内容

    var_dump(10);

    $a=100;

    var_dump($a);

    isset()函数检测变量是否设置

    $bool = isset($a);

    var_dump($bool);

    $a = 20;

    $bool = isset($a);

    var_dump($bool);

    unset();删除一个变量

    $a = 20;

    unset($a);

    $bool = isset($a);

    var_dump($bool);

    empty()数数检查一个变量是否为空,空的话返回true

    $a = 20;

    $b = '';

    $c = 0;

    $d = null;

    $e = ' ';

    var_dump(empty($a));

    var_dump(empty($b));

    var_dump(empty($c));

    var_dump(empty($d));

    var_dump(empty($e));

    var_dump(empty($f));

    回到文章开头,我们来看看如何解答

    总结

    1、各人喜好没有一定之规

    2、目前的php对变量是不区分大小写的(据说php6将区分大小写)所以$myName='aa';被写成$myname='aa';时效果不便但可读性较差不如 $my_name='aa';清爽

    3、对于区分大小写的语言,一般推荐使用“匈牙利表示法”

    变量名由变量类型和若干以大写字母开头的表示变量含义的单词组成

    比如

    $myname='aa';

    就写做

    $sMyName='aa';

    $myname=1;

    就写做

    $iMyName=1;

    4、对于不区分大小写的语言,一般建议变量名由若干由下划连接的表示变量含义的单词组成

    比如

    $myname='aa';

    就写做

    $my_name='aa';

    展开全文
  • 以下声明变量正确的 代码如下:var p,$p,_p; var 长,宽; 以下是错误的 代码如下:var .p;//只能是字母、数字、下划线或美元符号 var -p;//只能是字母、数字、下划线或美元符号 var p*;//只能是字母、数字、下划线或...
  • C++如何定义接口类?首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义抽象类。接口类自身不能实例化,接口类方法定义/实现只能由接口类子类来完成。而对于C++,其接口类一般具有以下...
  • 当在函数内调用全局变量并对其重新赋值时,我们知道要用global在函数内部声明全局变量。 同时,也有种用法是说“当全局变量是string, int,...这说法前半句是正确的,后半句不正确。看以下代码: a=[1,2,3] def test()
  • 【单选题】以下关于函数参数和返回值的描述,正确的是:【填空题】变量声明后未赋值,该变量的类型为( 1 )。 (1.0分)【单选题】在Python程序假设列表s=[1,2,3],如果语句使用s[3],则解释器将抛出___...
  • 以下关于Python函数的说法中正确的是: 函数中没有return语句或return语句不带任何返回值,那么该函数的返回值为True|函数内部可以通过关键字global来声明全局变量|可以用保留字作为函数的名字|调用带有默认值参数的...
  • 以下关于Python函数的说法中正确的是: 函数中没有return语句或return语句不带任何返回值,那么该函数的返回值为True|函数内部可以通过关键字global来声明全局变量|可以用保留字作为函数的名字|调用带有默认值参数的...
  • 答:×()不属于“零余者”形象特征答:思想大于行动以下关于模糊关系的正确说法是答:模糊关系描述不同论域模糊集合元素之间关联程度我们如何寻找创业机会( )。答:创造发明 环境变化 新鲜事物谐波分析法适用于...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼请看以下程序,定义了圆形类Circle,其中的变量用private修饰,然后圆柱类Cylinder继承Circle类,圆柱类并没有声明半径等变量,但是最后正常输出结果了(请注意我创建...
  • 2.可以修改语句中的一部分内容,调整语句次序,增加变量声明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。 【程序功能】 以下程序函数cutpaste功能是将line指向数组从下标为source开始...
  • Unity3D var解释

    千次阅读 2013-07-07 22:13:52
    我在用javaScript写Unity3D时会遇到var...在javascript,以上两种方法都是定义变量的正确方法。微软Script56.CHM是这样解释: 尽管并不安全,但声明语句忽略var关键字是合法 JScript 语法。这时,JScrip
  • 函数指针声明、赋值、调用

    千次阅读 2019-03-14 10:58:18
    一、函数指针声明 1、返回值类型 ( *指针变量名) ([形参列表]); ( *指针变量名) 函数指针声明时括号不能省略,否则...以下两种对函数指针的赋值哪个是正确的? int function(int a, int b) { //执行代码 } ...
  • C++如何定义接口类? 首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义抽象类。接口类自身不能实例化,接口类方法定义/实现只能由接口类子类来完成。 而对于C++,其接口类一般具有...
  • C-style array declaration 声明数组时将括号放在变量后面时C语言的编写风格,Java的编写风格是将... // 以下res2数组声明括号放在变量类型String后,这才是正确的Java编写风格 String[] res2 = ... } Class e
  • printf("\t\t请输入正确的数字!\n\t\t程序将于3秒后跳转到主菜单"); Sleep(3000); } showmainmenu(); scanf("%d",&n); getchar(); } return 0; } void showmainmenu() { system("cls...
  • 小白初探C++中的指针

    2019-09-20 08:39:09
    计算机所有数据都必须放在内存...C/C++ 通过*定义指针变量,必须先声明要指向的变量,不能直接指向一个常量,全局型? 比如以下使用方法是可以 int a = 10; int *b = &a; 但是不能直接 int *a = 10;...
  • js 中的Function类型

    2020-11-12 11:43:34
    以函数声明的方式来创建,那么不论在什么时候访问函数,都是正确的,因为解析器有函数声明提升。 sayHello(); function sayHello() { console.log('hello');//hello } 以函数表达式方式来创建,那么只能在创建...
  • register关键字在c语言和c++中的差异

    千次阅读 2011-01-10 09:07:00
    在c++:(1)register 关键字无法在全局定义变量,否则会被提示为不正确的存储类。(2)register 关键字在局部作用域中声明时,可以用 & 操作符取地址,一旦使用了取地址操作符,被定义的变量会强制存放在内存。在...
  • es6一些基本语法

    2019-09-25 20:03:51
    首先说一下什么是es6:  ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准; let 和 const 命令  let的基本用法: ... var声明变量返回了正确的值。这表明,let声明变量只在它...
  • 对于上面问题,最常见答案:JavaScript 具有基于函数作用域, 意味着每声明一个函数都会为其自身创建一个气泡,而其他结构都不会创建作用域气泡 事实上这并不完全正确 考虑以下代码: function foo(a) { var ...
  • 《Python语言及应用》课程翻转课堂教学任务单(第6章序列数据类型--列表与元组).docx (10.0分)【单选题】以下关于函数参数和返回值的描述,正确的是:【填空题】变量声明后未赋值,该变量的类型为( 1 )。 (1.0分)【多选...
  • 正确显示这些字符,编辑器必须能识别 UTF-8 编码,而且必须使用支持文件所有字符字体。 如果不使用默认编码,则要声明文件编码,文件 第一 行要写成特殊注释。 以下是一个用中文字符作变量的实例,通过这...
  • 1在Java不属于整型变量的是 Along Bbyte Cdouble Dshort Eint 2以下变量声明正确的是 Aint Int% ; Bfloat f_double; Cbyte b 1264 ; Dchar &address; 3在某个类存在一个方法void getSort (int x,以下哪个是方 法...
  • 更先进一些的是变量变量表示。请参考PHP手册。这在有时会显得很有用。 PHP内置了许多已定义的变量。你也可以用define函数定义你自己的常量,比如define("CONSTANT","value")。 2.6 运算符 PHP具有C,C++和Java...
  • 以下关于JavaScript的说法哪一个是正确的 JavaScript语言是基于Java语言的一种实现 JavaScript是一种解释性语言不用编译就可以运行 在JavaScript中声明变量时必须明确声明变量的数据类型 JavaScript脚本只能在浏览器...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 141
精华内容 56
关键字:

以下变量声明中正确的是