69,373
社区成员
发帖
与我相关
我的任务
分享
#define MaxSize 10
typedef char DataType;
typedef struct
{
int key;
DataType data;
}DataNode;
//定义了一个数组类型。
typedef DataNode DataArray[MaxSize];
void main()
{
DataArray SortData;
//我想问的是这个SortData我应该是把它当作数组名还是一个指向一个数组的指针。SortData到底是什么。
F(SortData);
}
//在这里我希望用指针指向上面那个数组,去修改里面的值,下面的arr 是应该加*还是不加。
void F(DataArray arr)
{
}
#define MaxSize 10
typedef char DataType;
typedef struct
{
int key;
DataType data;
}DataNode;
//定义了一个数组类型。
typedef DataNode DataArray[MaxSize];
void main()
{
DataArray SortData;
//我想问的是这个SortData我应该是把它当作数组名还是一个指向一个数组的指针。SortData到底是什么。
//sortData 是一个数组名。数组名可以隐式转换成首元素的指针。你这里的声明与 DataNode sortData[MaxSize]是等效的。
F(SortData);//如果声明加了*这里就应该写成: F(&sortData);
}
//在这里我希望用指针指向上面那个数组,去修改里面的值,下面的arr 是应该加*还是不加。
void F(DataArray arr)//用数组作为参数会退化成指针,与DataNode *arr是一样的。如果加* 的话,就会变成指向数组的指针。指向数组的指针和指向数组元素的指针是不同的。
{
}