C & C++
ferrari
这个作者很懒,什么都没留下…
展开
-
C/C++ 语法相关(持续更新)
<br />1: 整数类型和对象指针类型可以相互转换。(注意是对象指针, 和函数指针是不同的) <br /> 这里c++貌似比c要严格一些。 整数类型和对象指针类型相互赋值可以通过gcc编译, 仅仅报一个warning; 如果用g++编译, 会报错, 需要显示转换。 例外是可以把常量0 直接赋值给(void *) 或指向对象的指针,而不需要显示转换。<br /> <br /> <br /> <br />2: c语言使用结构类型需要struct关键字, c++不用。原创 2011-05-31 17:50:00 · 554 阅读 · 0 评论 -
BSS DS CSS Heap Stack
<br /><br />BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。<br /> <br />数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。<br /> <br />代码段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域转载 2011-06-02 18:15:00 · 813 阅读 · 0 评论 -
volatile详解
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个转载 2011-06-23 14:35:00 · 622 阅读 · 0 评论