地址和指针的概念(3/3) 在程序中一般是通过变量名来对内存单元进行存取操作 的。对变量值的存取都是通过地址进行的。 如: printfd”,); 其执行过程是:根据变量名与地址的对应关系(这个对应 关系是在编译时确定的,找到变量的地址2000, 然后 从由2000开始的四个字节中取出数据即变量的值3),把 它输出。 宝王楼辈死的战美聚影 化地称为“指针”。意思是通过它能找到以它为地址的 内存单元
地址和指针的概念(3/3) 在程序中一般是通过变量名来对内存单元进行存取操作 的。对变量值的存取都是通过地址进行的。 如: printf(“%d”, i); 其执行过程是:根据变量名与地址的对应关系(这个对应 关系是在编译时确定的),找到变量i的地址2000,然后 从由2000开始的四个字节中取出数据(即变量的值3),把 它输出。 由于通过地址能找到所需的变量单元,我们可以说,地 址“指向”该变量单元。因此在C语言中,将地址形象 化地称为“指针”。意思是通过它能找到以它为地址的 内存单元
(1.2)变量的指针和指向变量的指针变量
(1.2)变量的指针和指向变量的指针变量
概述 存放变量地址的变量是指针变量,用来指向另一个变量。 为了表示指针变量和它所指向的变量之间的联系,在程序中用 “*”符号表示“指向”。 例如,i-pointer代表指针变量,而*i-pointer是i-pointer所指向的变 量,如图所示: _pointer *i_pointer 2000 3 2000 因此,如下两个语句作用相同: 1=3 *i_pointer =3;
概述 存放变量地址的变量是指针变量,用来指向另一个变量。 为了表示指针变量和它所指向的变量之间的联系,在程序中用 “*”符号表示“指向” 。 例如,i-pointer代表指针变量,而*i-pointer是i-pointer所指向的变 量,如图所示: 因此,如下两个语句作用相同: i = 3; *i_pointer = 3;
定义一个指针变量 定义指针变量的一般形式为: 类型*指针变量名 如: int *p; 覆台个载堡正拾指针来最莓奥星。个变昼呢?下面用赋值塔句 int k=3; int *p=&k; 其中,“&”是取地址符号,即取变量k的地址。 它们之间的关系如下图所示: &
定义一个指针变量 定义指针变量的一般形式为: 类型* 指针变量名 如: int *p; 那么,怎样使一个指针变量指向另一个变量呢?下面用赋值语句 使一个指针变量指向一个整型变量: int k = 3; int *p = &k; 其中, “&”是取地址符号,即取变量k的地址。 它们之间的关系如下图所示:
定义指针变量的注意事项 在定义指针变量时要注意两点: 1)指针变量前面的“*”,表示该变量的类型为 指针型变量。注意:指针变量名是pointer_1、 pointer_2,而不是*pointer_.1、*pointer.2。这是与 以前所介绍的定义变量的形式不同的。 2)在定义指针变量时必须指定类型。因为不同 的类型在内存中占的字节数不一样
定义指针变量的注意事项 在定义指针变量时要注意两点: 1)指针变量前面的“*”,表示该变量的类型为 指针型变量。注意:指针变量名是pointer_1、 pointer_2,而不是*pointer_1、 *pointer_2。这是与 以前所介绍的定义变量的形式不同的。 2)在定义指针变量时必须指定类型。因为不同 的类型在内存中占的字节数不一样