float *arr 在C++中什么意思

如题所述

第1个回答  2015-07-07
定义一个单精度浮点型的指针arr
float是单精度浮点型,有效位为6或7位,最小值为1.175494351 E – 38,最大值为3.402823466 E + 38
*是指针符号,用于定义一个指针,指针指向一个内存地址
第2个回答  推荐于2017-09-19
定义一个指向(单精度)浮点数的指针。定义好之后可以让该指针变量指向浮点数变量,
比如
float Arr[] = {1.23, 9.02};
float *arr;
arr = Arr;
之后就可以通过arr访问数组了,比如arr[0] = 2.99,或者也可以使用相对定位的方式,比如
printf("%3.2f", *(arr + 1));//输出9.02;
实际上所有类型的指针在(windows 32bit)系统内部都表现为整型(Int或者long)。
因此可以把任何类型的指针地址强制转换为void*类型,以适应特定的访问要求,使用完毕之后,还可以再次转换为指针的初始类型。举例如下。
float Arr[] = {1.23, 9.02};
memset(Arr, 0, sizeof(Arr));//在第一个参数Arr作为数组指针,被强制转换为void*。本回答被提问者采纳
相似回答