• 【学习笔记,C语言】C语言学习笔记


    语法:

    1. 打印地址:printf("address of value2: %p ", &value2);

    2. C99 支持VLA(可变长数组),C11 放弃了这一创新的举措,把VLA设定为可选,而不是语言必备的特性

    3. int *ar形式和int ar[]形式都表示ar是一个指向int的指针。但是,int ar[]只能用于声明形式参数。第2种形式(int ar[])提醒读者指针ar指向的不仅仅一个int类型值,还是一个int类型数组的元素。

    4. 函数声明,函数原型,函数定义 的区别。

    5. 如果指向两个不同数组的指针进行求差运算可能会得出一个值,或者导致运行时错误。

    6. 在K&R C的年代,避免类似错误的唯一方法是提高警惕。ANSI C提供了一种预防手段。如果函数的意图不是修改数组中的数据内容,那么在函数原型和函数定义中声明形式参数时应使用关键字const。

    7. 把const数据或非const数据的地址初始化为指向const的指针或为其赋值是合法的;只能把非const数据的地址赋给普通指针

    8. 一维数组名 表示一个指针,表示一个指向int的指针

     

    printf()格式化输出

    字符说明
    %p 指针地址
    %u 无符号十进制整数(unsigned int)

    关键字:

    全局变量:

    static:

    目的是不用反复出栈,提高效率。

    静态局部变量

    和临时变量一样,但退出该函数后, 尽管该变量还继续存在,但不能使用它。

    静态全局变量:

     而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。

    静态函数:

    内部函数

    auto: 默认存在,表示临时变量。

    extern:同一文件中 告诉编译器num这个变量是存在的,但是不是在这之前声明的;引用不在同一个文件中的变量(全局)或者函数;引用另一个文件中的函数(不需要头文件包含?)。

    register:寄存器变量,读取非常快  

    void *memsetvoid *dest, int ch, size_t count );

    void * malloc(size_t size)

    void *reallocvoid *ptr, size_t new_size )

  • 相关阅读:
    适用于实数范围的中缀表达式的 +
    Django官方文档学习2——数据库及模板
    github命令
    千行代码入门Python
    Notepad++配置Python运行环境
    Python常用网页字符串处理技巧
    requests设置headers,proxies,cookies
    Django官方文档学习1——第一个helloworld页面
    笔记本键盘上没有break键的解决方案
    Python beautifulsoup模块
  • 原文地址:https://www.cnblogs.com/shengwang/p/11324927.html
Copyright © 2020-2023  润新知