《C和指针》摘要(POINTERS ON C)

只是摘要一些自己不懂的或认为重要的。

  • C并不具备任何输入/输出语句;I/O是通过调用库函数实现的。C也不具备任何异常处理语句,它们也是通过调用库函数来完成的。
  • 声明一个数组名其值为指针常量,并开辟指定的空间。声明指针变量,只为指针本身保留内存空间,不分配内存、且未被初始化指向现有的内存空间。
  • 如果可以互换使用指针表达式下标表达式;下标绝不会比指针更有效率,但指针有时会比下标更有效率。
  • 效率并不是唯一的因素,通常代码的简洁度更为重要。
  • 多维数组中,只有第一维可以缺省,其余几维必须显示写出其长度。
  • 数组名的值大多数指向数组第1个元素的指针。有2个例外:sizeof和&返回一个指向数组的指针。
  • 只要有可能,函数的指针形参都应该声明为const。防止函数修改所指向的指针。
  • strlen()的返回值为无符号数,即绝不可能是负的,在if语句要注意。
  • 结构体中,花括号右边声明创建变量,花括号左边的变量为标签没有创建变量。使用typedef创建结构体和结构标签几乎相同,区别为其花括号左边变量为类型名而不是结构标签。
  • 预处理器:#argument 结构 由预处理器转换为字符串常量"argument"。##操作符用于把它两边的文本粘贴成同一个标识符。#undef导致一个名字的原来定义被忽略。#line允许告诉编译器下一行输入的行号,可选内容告诉编译器输入源文件的名字。#progma例如可以想一个函数如果内联的汇编代码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值