【C语言天天练(六)】指针

指针变量一定要先进行初始化,然后才能使用。初始化指要对指针变量进行赋值,将一个地址值赋值给指针变量。极为常犯的错误是:

int *a;

*a = 12;   /*未对它进行初始化,没有办法预测12这个值将存储于什么地方*/


分析几个指针的例子;

1、*d = 10 - *d; 两个间接访问操作。右边的间接访问作为右值使用,所以它的值是d所指向的位置所存储的值(a的值)。左边的简介访问作为左值使用,所以d所指向的位置(a)把赋值符右侧的表达式的计算结果作为它的新值。

2、*&a = 2;这条语句的意思是:把值2赋值给变量a。这条语句在功能上与a=2是相同的。但是,它涉及更多的操作。除非编译器知道你在干什么并丢弃额外的操作,否则它所产生的目标代码将会更大、更慢。

3、int a = 12; int *b = &a; int **c = &b;指针变量和其他变量一样,占据内存中某个特定的位置,所以用&操作符取得它的地址是合法的。


值的类型并非值本身所固有的一种特性,而是取决于它的使用方式。比如在算数运算中,char型值可以被强制转换为int型的值。一个变量的值就是分配给这个变量的内存位置所存储的数值。通过一个指针访问它所指向的地址的过程称为简介访问。用于执行简介访问的操作符是单目操作符*。




值的类型并非值本身所固有的一种特性,而是取决于它的使用方式。比如在算数运算中,char型值可以被强制转换为int型的值。一个变量的值就是分配给这个变量的内存位置所存储的数值。通过一个指针访问它所指向的地址的过程称为简介访问。用于执行简介访问的操作符是单目操作符*。


【C语言天天练(六)】指针,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。