《C和指针》读书笔记——第三章 数据

时间:2021-11-30 23:38:32

1.typedef:为各种数据类型定义新名字

  typedef char  *ptr_to_char;

  ptr_to_char a;//声明a是一个指向字符的指针。

2.链接属性:extern;static

3.变量存储位置:普通内存、运行时的堆栈、硬件寄存器。

  (1)在代码块内部声明的变量的缺省存储类型为自动(auto),存储于堆栈中,当程序执行到声明处才创建,离开代码块时自动销毁;

在代码块之外的都存储于静态内存中。

  (2)加上static则变为静态变量,存储于静态内存中,程序执行期间始终存在。

   (3)关键字register,声明为寄存器变量。

4.static关键字

  •  用于函数定义或者代码块之外的变量声明时,只修改标示符的链接属性,由external改为internal,但标示符的存储类型和作用域不受影响。
  • 在代码块内部的变量声明时,只修改变量的存储类型为静态变量,但链接属性和作用域不受影响。

5.属于文件作用域的声明在缺省情况下为external链接属性。