当我们用size命令查看目标文件时,会出现三个段,分别为.text、.data、.bss。这三个段分别存放的内容如下: .text:保存CPU执行的指令 .data:保存初始化的全局变量和静态局部变量 .bss:保存未初始化的全局变量和静态局部变量 请问: (1)网上查找资料,说字符串字面值存在.rodata段中,也有说存放在.data段中?哪个正确呢?是不是随着编译器的实现不同而不同呢? (2)const全局变量和const局部变量(由于const变量定义时肯定...
const int fun() { return 2; } void main() { int n = fun(); n++; return; } 编译通过,在C语言中,const int fun() 和 int fun() 没区别么?
RT,不太明白C语言的内存分配……也可能是glib的问题…… 我以为const要释放,可是报错double free or corruption了…… const gchar *au [] = { "Some text", NULL }; g_free (au); PS:有没有讲内存分配的好书或者文章啊?:mrgreen:
本帖最后由 cu_a 于 2014-05-23 00:33 编辑 《C++Primer》第四版 5.12.3 5 转换为const对象 const int ci=0; const int*p=&ci; convert address of non-const to address of a const 问题: 书上说,表达式作了类型转换。 左边,右边,分别是什么? 怎样转?
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。 一般常量和对象常量 1. 一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。如: int const x=2; 或 const int x=2; 定义或说明一个常数组可采用如下格式: const []… 或者 const []...
const关键字是嵌入式程序员必须熟悉的。因为它的使用可以增加程序的健壮性,并且使读者更好地理解程序。 它所修饰的变量被叫做“只读变量”。注意“只读变量”!=“常量”。千万不要说被const所修饰的变量就是常量!那只能说明你对const还不太理解!下面就让我们来分析一下const。 首先看以下定义: const int a = 3; int const a = 3; const char b = '1'; char const b = '1'; const char s[] = "123456789"; char const s[] = "...
我的代码的结构大致如下: // CMsgHead 类型的指针 CMsgHead *msg = ****; /*此处用 p msg 打印出来的值为:0x816ec60*/ //receive_msg的声明为: //int receive_msg(const CMsgHead & msg, char *buf); receive_msg(*msg, buf); /*此处用 p msg 打印出来的值为:0x8000000*/ receive_msg里面也根本没有代码对它进行改变,用watch命令监视这个变量,也没有发现有被改变的地方 但却出现了这样的情况,是什么原因造成的???...
重谈类成员函数的返回类型const
我写了如下代码,实在没感到const int getid() const { return id; }的第一个const有什么用?
哪位能解释一下第一个const究竟有什么用
#include
const.h文件
const long BUF_LEN = 20;
main.c 文件
#include "const.h"
#include