c++指针类型
1个回答
展开全部
指针,用来描述内存地址,并通过提供指针操作来实现与内存相关的程序功能。
1. 定义
<类型>* <指针变量>;
类型决定了指向的内存空间的大小。
指针变量也是一种变量,有着自己的内存空间,该空间上存储的是另一个变量的内存空间。
可以使用typedef取别名来减少定义变量时的一些麻烦,如typedef int* Pointer;
2. 操作
1)取地址
‘&’
int* p; int x; p = &x;//p指向x的地址,p的类型是int*, &x的类型也是int*
2)间接访问
对于一般的指针变量,访问格式是:*<指针变量>
结构类型的指针变量,访问格式是:(*<指针变量>).<结构成员> 或 <指针变量>-><结构成员>
3)赋值
任何类型的指针都能赋给void *类型的指针变量,而非void * 类型的指针变量只能接受同类型的赋值。
4)指针运算
一个指针加上或减去一个整型值:<数据类型>* <指针变量>; int a; <指针变量>+a;可以理解为数组中下标的变化,
<指针变量> = <指针变量>+(a*sizeof(<数据类型>))
两个同类型的指针相减:结果是整型值,对应的是存储空间中元素的个数,可用于求数组的大小。
两个同类型的指针比较:比较的是存储内容(也就是内存地址)的大小,可用于数组求和等。
5)指针的输出
非char *类型的指针变量:cout<
1. 定义
<类型>* <指针变量>;
类型决定了指向的内存空间的大小。
指针变量也是一种变量,有着自己的内存空间,该空间上存储的是另一个变量的内存空间。
可以使用typedef取别名来减少定义变量时的一些麻烦,如typedef int* Pointer;
2. 操作
1)取地址
‘&’
int* p; int x; p = &x;//p指向x的地址,p的类型是int*, &x的类型也是int*
2)间接访问
对于一般的指针变量,访问格式是:*<指针变量>
结构类型的指针变量,访问格式是:(*<指针变量>).<结构成员> 或 <指针变量>-><结构成员>
3)赋值
任何类型的指针都能赋给void *类型的指针变量,而非void * 类型的指针变量只能接受同类型的赋值。
4)指针运算
一个指针加上或减去一个整型值:<数据类型>* <指针变量>; int a; <指针变量>+a;可以理解为数组中下标的变化,
<指针变量> = <指针变量>+(a*sizeof(<数据类型>))
两个同类型的指针相减:结果是整型值,对应的是存储空间中元素的个数,可用于求数组的大小。
两个同类型的指针比较:比较的是存储内容(也就是内存地址)的大小,可用于数组求和等。
5)指针的输出
非char *类型的指针变量:cout<
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询