C语言笔记(《C与指针》)

第一章:快速入门

1.数组参数是以引用(reference)形式进行传递的,也就是传址调用,而标量和常量则是按值(value)传递的。在函数中对标量参数的任何修改都会在函数返回时丢失,因此,被调用函数无法修改调用函数以传值形式传递给它的参数。然而,当被调用函数修改数组参数的其中一个元素时,调用函数所传递的数组就会被实际地修改

第二章:基本概念

1.标识符:变量、函数、类型等的名字。他们由大小写字母、数字和下划线组成,单不能以数字开头
2.C语言中注释不能嵌套

第三章:数据

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

整型:包括字符/短整型/整型和长整型,分为有符号和无符号两种

整型字面值
字面值是字面值常量的缩写:这是一种实体,指定了自身的值,并且不允许发生改变。它与普通的变量极为类似,区别在于当它被初始化以后,它的值就不能改变了
如果一个多字节字符常量的前面有一个L,它是宽字符常量

2.枚举类型

 枚举:它的值为符号常量而不是字面值的类型
   enum Jar_Type{CUP,PINT,QUART,HALF_GALLON,GALLON}
      这条语句声明了一个类型,称为Jar_Type。这种类型的变量按下列方式声明:
      enum  Jar_Type milk_jug,gas_can,medicine_bottle;
 如果某种特别的枚举类型的变量只使用一个声明,你可以把上面两条语句组合成下面的样子:
 enum{CUP,PINT,QUART,HALF_GALLON,GALLON}
      milk_jug,gas_can,medicine_bottle;
 另:枚举类型的变量默认第一个是0,后面递增
 //下面网站是枚举的一些补充:
      [枚举的一些补充](http://c.biancheng.net/cpp/html/99.html)

3.浮点类型

包括了float/double/long double类型
头文件float.h定义了名字FLT_MAX/DBL_MAX/LDBL_MAX,分别表示float/double/long double所能储存的最大值,把max改成min表示能够存储的最小值

4.指针

变量的值存储于计算机的内存中,每个变量都占据一个特定的位置。每个内存位置都由地址唯一确定并引用,就像一条街道上的房子由他们的门牌号码标识一样。指针只是地址的另一个名字。指针变量就是一个其值为另外一个内存地址的变量。
指针常量
指针常量与非指针常量在本质上是不同的,因为编译器负责把变量赋值给计算机内存中的位置。把指针常量表达为数值字面值的形式几乎没有用处。
当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所储存的地址,而不是这些字符本身。不可以把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。

5.typedef

C语言支持一种叫作typedef的机制,它允许你为各种数据类型定义新名字。typedef声明的写法和普通的声明基本相同,只是把typedef这个关键字出现在声明的前面
例:
typedef char *ptr_to_char;
这个声明把标识符ptr_to_char作为指向字符的指针类型的新名字。你可以像使用任何预定义名字一样在下面的声明中使用这个新名字
ptr_to_char a;
声明a是一个指向字符的指针

6.常量

(1)const
int const *cpi; 一个指向整型常量的指针。可以修改指针的值,但是不能修改它所指向的值
int * const cpi; 一个指向整型的常量指针。指针是常量,它的值无法修改,但可以修改它所指向的整形的值
int const * const cpi 无论是指针本身还是它所指向的值都是常量,不允许修改
(2)#define
#define MAX_ELEMENTS 50

第四章:语句

C最简单的语句就是空语句,它本身只包含一个分号。空语句本身并不执行任何任务,但有时还是有用。它所使用的场合就是语法要求出现一条完整 的语句,但并不需要它执行任何任务。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值