指针是一个变量,存储的是一个32位的数值(地址),也可参与计算,比如指针p++, p--, p+= sizeof(int)等,但只能用于连续存储空间。
p++,p--:指针p移动一个单位,这个单位大小是多少,要看p的数据类型了。如p是一个char型的,则p++移动一个字节,如果有int *p;则p++移动4个字节。
如果是自定义类型,代码:
则p++移动sizeof(Point)个字节(16字节),使用时a[i].x与ptr+=i后ptr->x等价。
指针是一个变量,存储的是一个32位的数值(地址),也可参与计算,比如指针p++, p--, p+= sizeof(int)等,但只能用于连续存储空间。
p++,p--:指针p移动一个单位,这个单位大小是多少,要看p的数据类型了。如p是一个char型的,则p++移动一个字节,如果有int *p;则p++移动4个字节。
如果是自定义类型,代码:
则p++移动sizeof(Point)个字节(16字节),使用时a[i].x与ptr+=i后ptr->x等价。