现在位置: 首页 > 变量初始化
2014-11-18 06:23 工业·编程 ⁄ 共 602字 暂无评论
《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。 1、初始化 typedef struct _TEST_T {         int i;         char c[10]; }TEST_T; TEST_T gst  = {1, “12345”};//可以初始化,设置i为1,s为一个字符串. TEST_T gst  = {1};//初始化个数少于实际...
阅读全文
2013-04-21 05:21 工业·编程 ⁄ 共 523字 暂无评论
今天终于琢磨明白一个问题,拿出来跟大伙分享下。 我的测试程序如下: #include "stdafx.h" char Buff[1024*1024*4] = {0}; int main() { return 0; } ,这段代码经过编译之后,大约184K(debug)。 如果把全局变量Buff赋初始值改改,char Buff[1024*1024*4] = {1}; 经过编译之后大约是4.98M,差了20多倍。 经过上网学习,发现,原来全局变量赋初始值为0,那么全局变量会被存储在可...
阅读全文
2012-09-03 19:31 工业·编程 ⁄ 共 1925字 暂无评论
文章目录 1、问题 2、测试 3、结果 4、背景与应用 5、补充 1、问题 编程的过程中,思考了一个问题。当一个局部的静态变量使用一个函数的返回值初始化时,如果该函数抛出异常,那么,局部静态变量是否被定义成功,即,如果再次调用包含局部静态变量的函数,抛出异常的函数会不会再次被调用。 2、测试 就此问题,我写了如下的测试程序: #include <iostream> #inc...
阅读全文
2012-09-03 19:28 工业·编程 ⁄ 共 352字 暂无评论
    当变量定义与结构体定义本身一起声明时,可不需再次声明结构体变量,如 struct structintcll {     char name[20];     int numb;     float amt; }xyz;  /*此处已将xyz申请为结构体变量,语句中可使用xyz.name等直接访问 */ 初始化结构体变量:   1.struct structintcll abc={.....};   2.在定义后结构体}后的变量名中...
阅读全文
2012-09-03 19:25 工业·编程 ⁄ 共 832字 暂无评论
    前几天给系统写一个新功能,被初始化问题搞毛了:一个结构体里包含枚举类型的变量,结果由于没有初始化,搞了一堆随机数……。这个结构体是作为输入参数放在查询函数里的,结果自然查不到。最悲剧的是,在我的Windows平台可以成功查到,Linux平台有一定几率能查到……     如果一个变量没有进行初始化,那么使用它的行为是未定义的行为,这种行为有时正确有时错误,这就是我写的程序结果不确定的...
阅读全文
    有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a. 常量型成员变量,如:const int i; b. 引用型成员变量 如:int &i; c. 静态成员变量 .如:static int i; d. 整型静态常量成员变量 如:static const int i; e. 非整型静态常量成员变量 如:static const double i;     对于常量型成员变量和引用型成员变量的初...
阅读全文
2012-09-03 19:19 工业·编程 ⁄ 共 2676字 暂无评论
1) 类成员初始化列表的顺序是很重要的 #include <iostream> using namespace std;   class MemberInitializationList { private:          int i;          int j; public:          MemberInitializationList(int val) : j(val), i(j)       &...
阅读全文
本文只作为个人防止忘记,作为基础资料来查阅所用。 一、变量类型 externel和internal简介: internel用于描述定义在函数内部的函数变元和变量。外部变量在函数外部定义,故可以在很多函数中使用。由于C语言不允许在一个函数中定义其他函数,因此函数本身是外部的。缺省情况下,外部变量和函数具有如下性质:所有通过名字对外部变量和函数的引用都是引用同一个对象(即外部链接)。 由于外部变量是可以全局访问的,这就为在函数...
阅读全文
2012-09-02 19:13 工业·编程 ⁄ 共 477字 暂无评论
1.如果变量是在方法内部定义的局部变量,编译器不会初始化变量,如果在没有初始化的情况下就使用该变量将会产生编译时的错误信息,提示你变量没有被初始化。 public class Test { public static void main(String[] args) { int i; System.out.println("i=" & i); } } 2.如果变量是类的成员数据,由于如何方法都可能初始化或者用到这个数据,因此要求用户在使用数据之前就对他进行适当的初...
阅读全文
当我们定义没有初始化式的变量的时候,系统有时候会帮我们初始化变量.系统提供什么样的值取决于变量的类型,也取决于变量定义的位置. 内置类型变量的初始化 内置类型变量是否自动初始化取决于变量定义的位置.在函数体外定义的变量都初始化为0,在函数体里面定义的内置类型变量不进行自动初始化 除了用作赋值操作符的左操作数,未初始化变量用作任何其他用途都是没有定义的.未初始化变量引起的错误难以发现.  永远不要依赖未定...
阅读全文