《C和指针》第三章 数据

1.C语言中有四种基本数据类型:整形、浮点型、指针和聚合类型(数组、结构等)

2.整型家族包括字符型(至少8位)、短整型(至少16位)、整型(至少16位)和长整型(至少32位),她们都有有符号和无符号两种版本。

3.枚举类型就是指她的值为符号常量而不是字面值类型,而符号名实际值都是整型值。如果某个符号没有显示的指定一个值,那么它就默认比前一个符号名的值大1.

enum Jar{cup, pint, half};则默认cup=0,pint=1,half=2

4.浮点数家族包括float、double和long double类型,浮点数字面值在缺省状态下都是double类型的。所有浮点类型至少能够容纳从1E-37~1E37之间的任何值。

5.指针可以实现诸如tree、list等高级数据结构,因而被应用广泛,指针的值就是一个内存地址

6.当一个字符串常量出现在一个表达式中。表达式所使用的值就是这个字符串常量的起始存储位置,而不是字符串本身,因此可以把字符串常量赋值给一个“指向字符的指针”。

7.除了char型,其他整型缺省状态下都是有符号的。

8.可以用const关键字来声明常量

int  const  s;和const  int  s;都是把s声明为一个整数,它的值不可以被修改

int  const   *pi;表示const限制的是int,所以pi指针所指向的内存中的数据不能修改,但是指针的值可以修改;

int  * const  ;表示const限制的是int *,所以pi指针的值不能被修改,但是可以修改它所指向的整型的值。

总的来说涉及指针时,const限制的是他前面的部分

9.编译器可以确认四种不同的作用域:代码块作用域、文件作用域、原型作用域和函数作用域

代码块作用域是{}里面的部分,任何在代码块开始位置声明的标识符都具有代码块作用域;如果有嵌套,且内外层有相同的标识符,则内存代码块的标识符可以屏蔽外层的标识符

文件作用域:任何在代码块外面声明的标识符都具有文件作用域,包括函数声明的函数名

原型作用域:是适用于函数原型中声明的参数;

函数作用域只适用于语句标签。(不太常用)

10.连接属性有三种,external(外部)、internal(内部)和none(无)。

internal连接属性的标识符在同一源文件中的所有声明中都指同一个实体

external连接属性的标识符不论声明多少次、位于几个源文件都表示同一实体。

11.变量的存储类型决定变量何时创建、何时销毁以及它的值保存多久,有三个地方存储变量:普通内存、运行时的堆栈、硬件寄存器。

代码块内部声明的变量缺省存储类型是自动的,又叫局部变量,存储于堆栈中,程序运行到声明自动变量的代码块时,自动变量被创建。程序执行完代码块时,变量自行销毁。

全局变量在程序开始执行时创建,并在程序执行过程中始终存在



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值