`
lu007heng
  • 浏览: 23684 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Linux下关于const和static的总结

阅读更多

    维基百科上有很好的表述,我只想用一些简单的话来概括一下,以求能在最少的阅读量下清晰地明白他们的用法。

    const就是define something that is consistent,用它声明的变量以后就不能改了。注意const指针那个地方,是指针是不变的还是指针指向的内容不变。

    static means create something that is visible to the local file. 因为C下面一个文件中声明的东西,比如说函数,在同工程的其他文件中也是可以调用的,用static声明了之后,他就只可以本地使用了。当然了,Technically, "static" has other meanings in C related to persistant storage of local variables in functions across function calls.

 

 

一个讲的比较透彻的链接:http://www.linuxforums.org/forum/programming-scripting/164742-static-const-c.html

分享到:
评论

相关推荐

    Linux C程序设计大全

    第1篇 Linux下C语言基础 第1章 Linux简介 1.1 GNU简介 1.2 Linux简介 1.2.1 Linux发展史 1.2.2 Linux发行版 1.2.3 Linux内核版本 1.2.4 Linux与UNIX的关系 1.2.5 Linux在服务器方面的发展 1.2.6 Linux在嵌入式系统...

    KBA_EC200&UC200_Linux&Android_USB_driver_移植说明1

    static const struct usb_device_id option_ids[] = {+#if 1 //Added by Quectel+ { U

    linux内核 0.11版本源码 带中文注释

    #include <linux/head.h> // head 头文件,定义了段描述符的简单结构,和几个选择符常量。 #include <asm/system.h> // 系统头文件。以宏的形式定义了许多有关设置或修改 // 描述符/中断门等的嵌入式汇编子程序。...

    OV13850.tar.gz_Linux 驱动ov13850_OV13850 驱动_ov13850_ov13850驱动

    OV13850驱动源码,硬件平台为瑞芯微RK3288,软件平台为android。

    Linux系统编程之线程同步

    1. 静态初始化:如果互斥锁 mutex 是静态分配的(定义在全局,或加了static关键字修饰),可以直接使用宏进行初始化。e.g. pthead_mutex_t muetx = PTHREAD_MUTEX_INITIALIZER; 2. 动态初始化:局部变量应采用动态...

    Linux下的服务程序开发库kylin-2.0-fc9-i686.tar.gz

    static int DoStart(const TKYStringList& AParams, bool AIsSvc) { // 显示 if (!AIsSvc) printf("..... OnStart(IsSvc: false) is running.\n"); // ??? ... ... return 0; } // 停止 static void DoStop...

    batteryd:有史以来最小的电池守护程序!

    电池 一个简单而快速的电池守护进程Linux 依存关系: 公开通知 变更日志: 版本1.0.1:已删除存在功能 版本1.0.0:首次发布 如何配置: config部分如下所示: static const int ...static const char *DISCHARG

    Linux 字符设备驱动模板

    在Linux内核里面,设备(device)主要分为字符设备,块设备,网络设备,字符设备驱动是Linux驱动基础,在看《Linux 设备驱动开发详解》这本书的过程中,把字符设备相知识记录整理如下。 字符设备驱动的组成 字符设备...

    Linux下的服务程序开发库kylin-2.0-centos5.4-i686.zip

    static int DoStart(const TKYStringList& AParams, bool AIsSvc) { // 显示 if (!AIsSvc) printf("..... OnStart(IsSvc: false) is running.\n"); // ??? ... ... return 0; } // 停止 static void DoStop...

    linux jnative 调用.so方法及附属全部库和源码

    public static void main(String[] args) throws NativeException, IllegalAccessException{ //纯c写到动态库 JNative clib = new JNative("libtest.so", "test_a"); //调用libtest.so下到test_a函数 clib....

    linux-0.11 [内核源代码带英文注解]

    static int printf(const char *fmt, ...) { va_list args; int i; va_start(args, fmt); write(1,printbuf,i=vsprintf(printbuf, fmt, args)); va_end(args); return i; } static char * argv_rc[] = { "/...

    pt7c4307 驱动

    static int set_time(struct rtc_time const *tm) { int sr; u8 regs[RTC_SECTION_LEN] = { 0, }; //printk("set_time Date(y/m/d):%d/%d/%d Time(h/m/s):%d/%d/%d\n",tm->tm_year,tm->tm_mon,tm->tm_mday,tm-...

    传智播客扫地僧视频讲义源码

    07_继承和组合混搭下的构造和析构_传智扫地僧 08_继承中的同名成员变量和同名成员函数 09_继承的static关键字 10_多继承的基本语法 11_二义性和虚继承解决方案 12_中午课程回顾 13_多继承原理抛砖_传智扫地僧 14_...

    linux i2c driver

    static const struct i2c_device_id test_id[] = { {"test-XXX",0 },{ } }; 在设备树相应的i2x所申请的内存处添加该test-XXX设备的信息。该设备的i2c地址不可和其他挂在同一i2c设备的地址相同。reg=<addr>

    宋劲彬的嵌入式C语言一站式编程

    2.1. extern和static关键字 2.2. 头文件 2.3. 定义和声明的详细规则 3. 静态库 4. 共享库 4.1. 编译、链接、运行 4.2. 动态链接的过程 4.3. 共享库的命名惯例 5. 虚拟内存管理 21. 预处理 1. 预处理的步骤 2. 宏定义...

    x86-64-asm:x86-64 asm (gnulinux) 游乐场

    x86-64 asm (gnu/linux) 系统调用 系统调用号:rax 系统调用参数:rdi rsi rdx r10 r8 r9 ... static const char ops[] = "\x48\x31\xc0\xb0\x22\x0f\x05"; int main(int /*argc*/, char** /*argv*/) { typedef void

    模拟网桥功能实验程序cpp

    要求:Windows或Linux环境下运行,程序应在单机上运行。 分析:用程序模拟网桥功能,可以假定用两个文件分别代表两个网段上的网络帧数据。。。。。。 #include #include <algorithm> using namespace std; ...

    LuaBind 源码 (Lua增强库)

    LuaBind可以处理签名的区别只是const和非const的重载函数. 例如,如果如下的函数和类被注册: struct A { void f(); void f() const; }; const A* create_a();所有权转移 为了正确处理所有权转移问题,create_a()将...

    c单片机二维码(QRcode_源代码)

    在项目https://download.csdn.net/download/qq_21475601/11430260的基础上修改,原项目可以在...2、const unsigned char *byRSExp 这个变量需要去掉(其他方法代替),在单片机下这样使用多维数组得到的结果错误

    Google C++ Style Guide(Google C++编程规范)高清PDF

    Scoping Namespaces Nested Classes Nonmember, Static Member, and Global Functions Local Variables Static and Global Variables Classes Doing Work in Constructors Default Constructors Explicit ...

Global site tag (gtag.js) - Google Analytics