c语言 在定义时:double **x表示?
3个回答
展开全部
“**x”表示指向指针的指针,double表示最终值的类型是双精度浮点类型。
何谓指向指针的指针?
首先, x是一个指针,它指向的值又是一个指针,这个指针所指向的值才是double值,如:
+---+ +----+ +--------+
| x +--->+ *x +--->+ double +
+---+ +----+ +--------+
什么场合用呢?
比如:有一个函数叫allocDoubleArray, 可以传一个参数,如果成功则返回一个double类型的数组,则这个函数可以这样定义:
bool allocDoubleArray(int arraySize, double **x)
{
*x = malloc(sizeof(double) * arraySize);
return *x != NULL;
}
使用时是这样的:
double *x = NULL;
if (allocDoubleArray(5, &x))
{
//此时x将不再指向NULL,则是指向一个长度为5的double数组
double x0 = x[0];
double x1 = x[1];
double x2 = x[2];
double x3 = x[3];
double x4 = x[4];
}
展开全部
应该是二级双精度指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double **x表示double双指针
追问
什么叫双指针
追答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询