指针声明的一般语法:data-type *pointer_name;
指针是一个变量,其值是另一个变量的地址,即内存位置的直接地址。与任何变量或常量一样,您必须先声明一个指针,然后才能使用它来存储任何变量地址。指针的数据类型必须与指针指向的变量相同。
为什么指针变量应该包含相同数据类型的变量的地址很重要?
既然指针与另一个变量的值无关,为什么整型指针不能有float数据类型变量的地址呢?
正确的形式:
int a = 10 ;
int *ptr = &a ;
错误,类型不匹配
float a;
int *ptr; ptr = &a;
最佳答案
因为当你增加一个指针时
ptr++;
它将指向一个地址,该地址是数据类型大小的 1 倍。如果你这样做了
ptr+=2;
并且数据类型占用 4 个字节,如果指针声明为
float *ptr;
指针将增加 8 个字节的位置。
关于c++ - 为什么变量指针包含相同数据类型的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619135/