zoukankan      html  css  js  c++  java
  • C语言读书笔记

    1.c语言中一共有32个关键字,分别是:

      auto、int、double、long、char、short、float、unsigned、signed、sizeof、extern、

      static、goto、if、else、struct、typedef、union、enum、switch、case、break、

      default、do、while、const、register、volatile、return、void、for、continue。

    注意:define、include这些带#号的都不是关键字,是预处理指令。

    2.定义与声明
      定义   是创建一个对象并为之分配内存。  如:int   a;
      声明   是告诉编译器在程序中有这么一个对象,并没有分配内存。   如: extern   int    a;
     
    3.对于register这个关键字定义的变量,不能进行取地址运算(&),因为对于x86架构来说,地址都是在内存中的,不是在寄存器中的,所以对寄存器进行取地址是没有意义的。并且应该注意的是给register定义的变量,应该赋一个比寄存器大小 要小的值。注意:register只是请求寄存器变量,但是不一定申请成功
     
    4.关键字static:=
       对于static有两种用法:
       a.修饰变量:对于静态全局变量静态局部变量,都有一个特点就是不能被作用域外面,或外文件调用(即使是使用了extern也没用)。原因就是它是存储在静态存储区中的。对于函数中的静态局部变量还有一个问题,就是它是存在静态存储区的,即使函数结束栈区收回,这个变量的值也不改变。static int i=0;  这是一条初始化语句  而不是一条赋值语句  所以跟i=0不一样的。
       b.修饰函数 :是定义为静态函数,使函数只能在文件内部使用,这样不同文件中的函数名就不怕重名了。原因也是相同的,就是static修饰的一切都是在静态存储区中的。
  • 相关阅读:
    LDAP入门
    Java程序员书籍推荐
    docker registry镜像容器时区时间同步
    微服务架构与实践及云原生等相关概念
    ts基础
    内网穿透连接内网下的"我的世界"服务端
    [量子互联] 内网穿透远程连接Linux的SSH
    树莓派开启SSH的N种方法
    [量子互联] 群晖NAS的远程映射配置
    [量子互联] 群晖NAS的qBittorrent端口映射
  • 原文地址:https://www.cnblogs.com/Venom/p/3444564.html
Copyright © 2011-2022 走看看