zoukankan      html  css  js  c++  java
  • <C Traps and Pitfalls>笔记

    //------------------------------------------------------------------------------

    2.1 理解函数的声明:

    编写一个独立运行在某微处理器上的C程序,当计算机启动时,硬件将调用首地址为0位置的子例程。

    (*(void (*)())0)();

    可以简写为一下形势:

    typedef void (*funcptr)();
    (*(funcptr)0)();

    信号函数:

    void (*signal(int, void (*)(int) ))(int);

    可以简写为:

    typedef void (*HANDLER)(int);
    HANDLER signal(int, HANDLER);

    //------------------------------------------------------------------------------

    3.1指针与数组:
    C语言中的数组值要注意一下两点:
    1,C语言中只有一位数组,而且数组的大小在编译期就作为常量确定下来。多维数组都是一维数组“仿真”出来的。
    2,对一个数组,我们只能确定两件事:确定大小,获得下标为0的指针。任何数组的下标运算等同于对应的指针运算,因此我们可以依据指针行为定义数组下标行为。

    //------------------------------------------------------------------------------

    3.4作为参数的数组声明:
    如果一个指针并不实际代表一个数组,即使从技术上而言是正确的,采用数组形式的记法经常会起到误导作用。

    //强调argv是指向某数组的起始元素的指针,该数组的元素为字符指针类型。
    int main(int argc, char* argv[])
    {
    }
    
    //与上者等价
    int main(int argc, char** argv)
    {
    }


    //------------------------------------------------------------------------------

  • 相关阅读:
    4--Python入门--Python数据集合类型--集合
    3--Python入门--Python数据集合类型--元组
    2--Python入门--Python数据集合类型--列表
    1--Python 入门--Python基础数据类型
    1--Testng功能简介
    2--JAVA+Maven+TestNG搭建接口测试框架搭建
    2--linux命令--查看磁盘空间
    登录功能测试总结
    在Linux环境下搭建Tomcat+mysql+jdk环境
    如何在Linux系统下挂载光盘
  • 原文地址:https://www.cnblogs.com/xuejianhui/p/3501659.html
Copyright © 2011-2022 走看看