C++中的指针小问题
如果P是一个指向INT型的指针,那么如果要让INT型的数据增加1,使用P++则会使地址向后移动一位,那该怎么办呢?...
如果P是一个指向INT型的指针,那么如果要让INT型的数据增加1,使用P++则会使地址向后移动一位,那该怎么办呢?
展开
展开全部
完全解释,过程如下:
例如 int *p = NULL;
首先得明白,指针本身也是一个变量,它的作用只是用来标记某个内存地址。根据该内存地址上存储的数据类型不同,指针也有不同的类型,例如指向Int类型的指针,跟上面的声明一样,但是指向float类型的指针则是 flaot *p = NULL;
在使用指针的时候,要分清楚,我们要进行的操作时针对指针的,还是针对指针所指向数据的,如果是针对指针的,那么直接对指针本身进行操作,如果是针对指针所指向的数据的,那么首先要通过指针得到这个数据。 通过指针得到数据的方法是对指针进行解析 *p; *为解析符号。可以通过p得到p所指向的内存地址上的数据。所以,你如果要对int的数据进行++操作,那么首先要解析p,即*p,这个时候(*p)就是你要操作的int数据。
例如 int *p = NULL;
首先得明白,指针本身也是一个变量,它的作用只是用来标记某个内存地址。根据该内存地址上存储的数据类型不同,指针也有不同的类型,例如指向Int类型的指针,跟上面的声明一样,但是指向float类型的指针则是 flaot *p = NULL;
在使用指针的时候,要分清楚,我们要进行的操作时针对指针的,还是针对指针所指向数据的,如果是针对指针的,那么直接对指针本身进行操作,如果是针对指针所指向的数据的,那么首先要通过指针得到这个数据。 通过指针得到数据的方法是对指针进行解析 *p; *为解析符号。可以通过p得到p所指向的内存地址上的数据。所以,你如果要对int的数据进行++操作,那么首先要解析p,即*p,这个时候(*p)就是你要操作的int数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询