标签:系统 ptr oid 地址 nbsp amp strong 内存 类型
指针? 什么是指针? 从根本上看, 指针(pointer) 是一个值为内存地址的变量(或数据对象) 。 正如char类型变量的值是字符, int类型变量的值是整数, 指针变量的值是地址。
假设一个指针变量名是ptr, 可以编写如下语句:
ptr = &pooh; // 把pooh的地址赋给ptr
对于这条语句, 我们说ptr“指向”pooh。 ptr和&pooh的区别是ptr是变量,而&pooh是常量。 或者, ptr是可修改的左值, 而&pooh是右值。 还可以把ptr
指向别处:
ptr = &bah; // 把ptr指向bah, 而不是pooh现在ptr的值是bah的地址。
在大部分系统内部, 地址由一个无符号整数表示。 但是, 不要把指针认为是整数类型。 一些处理整数的操作不能用来处理指针, 反之亦然。 例如, 可以把两个整数相乘, 但是不能把两个指针相乘。 所以, 指针实际上是一个新类型, 不是整数类型。 因此, 如前所述, ANSI C专门为指针提供了%p格式的转换说明
interchange(&x, &y);
该函数传递的不是x和y的值, 而是它们的地址。 这意味着出现在interchange()原型和定义中的形式参数u和v将把地址作为它们的值。 因此,应把它们声明为指针。 由于x和y是整数, 所以u和v是指向整数的指针, 其声明如下:
void interchange (int * u, int * v)
标签:系统 ptr oid 地址 nbsp amp strong 内存 类型
原文地址:https://www.cnblogs.com/juzishuxia/p/12161866.html