C Primer Plus学习笔记(二)

1. C的左值用是指用于标志一个特定的数据对象的名字或表达式。“数据对象”是泛指数据存储的术语。

赋值运算符的左边应该是以个可以修改的左值。

右值是指可赋给可修gia的左值的量。右值可以是常量、变量或者任何可以产生一个值的表达式。、

2.对于下面的语句

butter =25.0 + 6.0*n/scale

运算顺序是先找到第一个*或/号,得到结果,再找第二个*或/号,然后才找第一个+或-号

 3.一个顺序点(sequence point)是程序中执行的一点;在该点处,所有的副作用都在进入下一点之前被计算。在C中分号标志了一个顺序点。

任何一个完整表达式的结束也是以个顺序点;如

while(guess++< 10)
    printf("aaaa");

guess++<10 就是一个完整表达式,C保证副作用在printf("aaaa")之前发生。

 4.C保证逻辑表达式是从左到右取值,&&和||运算符是序列的分界点,因此程序从一个操作数运行到另一个操作数之前,所有的副作用都会执行。

 5.文件是一块存储信息的存储区域。

6.EOF(end of file 文件尾)

7.当使用PC或VAX时,程序执行过程是:调用函数首先把参数放在一个称为堆栈的临时存储区,然后调用函数从堆中读取这些参数。

8.#include "hotel.h" ,表示包含的文件在当前目录下

9.间接运算符*,是指取一个地址的值,ptr=&varl,bar = *ptr;相当于于ptr=bar;

10.一个变量被加载以后,同一个变量在计算机中有两个属性,地址和数值,地址可以看做事变量在计算机中的名称。

11.切记:当创建一个指针时,系统只分配了用来存储指针本身的内存空间,并不分配用来存储于数据的内存空间,因此在使用指针之前,并须给它赋予一个已经分配空间的内存地址。比如,可以把一个已存在的变量地址赋给指针。或者使用malloc()函数来首先分配内存。

12.常量标志const是用来表示值的不能被修改,所以一个常量的指针所指向的值是不能被修改的,但是,可以将常量的指针指向其它地址。

13.字符串常量属于静态存储类(static storage)类。静态存储是指如果在一个函数中使用字符串常量,即使是多次调用了这个函数,该字符串在程序的整个运行过程中只存储一份。整个引号中的内容做为指向该字符串存储位置的指针。如:"we are",只一个指针。

posted @ 2013-09-27 00:57  春夏秋冬春  阅读(294)  评论(0编辑  收藏  举报