《C和指针》学习笔记(一)

基本知识

  • 符号常量的名字一般用大写。
  • 一个NUL字节是指字节模式为全0的字节,即转义字符‘\0’,即ASCII码为0的字符。字符串是一串以NUL字节结尾的字符(不含NUL)。
  • goto语句适合用于跳出多层嵌套的循环。
  • 关系运算符(大于、小于、等于)产生的结果为整型值(0或1)。
  • 逻辑运算符(与、或)是短路运算符。
  • 如果同一条语句中调用了多个函数,这几个函数的调用顺序是不确定的,如果这些函数执行了I/O操作或修改了全局变量,则会产生错误的结果。
  • 数组名的值是一个指针常量。

可变参数的函数

下面是一个用于求任意个数字的最小值的函数。

关于指针

  • 声明时int* a,b,c;等价于int *a; int b,c;,正确写法是int *a,*b,*c;
  • 初始化时char *a=”hello”;相当于char *a; a=”hello”;
  • b=*p++;等价于b=*p; p++;
  • b=++*p;等价于b=++(*p); (后置自增运算符的优先级高于*)
  • b=*++p;等价于p++; b=*p;
  • b=++*++p;等价于b=++(*++p);
  • b=++*p++;等价于b=++(*p); p++;
  • (*a).b等价于a->b
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments