指针变量的声明方式为:
数据类型 * 变量名
在C语言中,常用的指针有以下几种:
char * ptr; //char类型指针
int * ptr; //int类型指针
float * ptr; //float类型指针
double * ptr; //double类型指针
void * ptr; //void类型指针
int类型变量存储的是整型数据,如10.那么指针里面存的是什么?是地址。
int a = 10;//变量a当中存储的是整数10
int * p = &a;//变量p当中存储的是变量a的地址
指针本质上是一个地址,用来存这个地址的变量叫做指针变量。指针变量中保存的数据就是一个十六进制的地址。
一些例子:
指针的偏移:
通过对已知的指针变量进行 ‘+’ 或者 ‘-’ 操作,以此来实现访问到与已知指针变量相关的其他内存空间指针偏移的量(即一个指针变量+1后,其对应地址增加的绝对值):它根据数据类型的大小模块化偏移。比如
int a = 12;//此处假设a的地址为0x1234;
int *p = &a;//指针p指向a的地址
p ++;//指针p偏移一个a的大小,此时p=0x1238;