指向链表的指针数组
Array of pointers to linked list
我需要知道是否要创建一个数组,数组的每个元素都是指向链表的指针,并将数组传递给函数,函数是 void
因为我需要更改数组
typedef struct n{
char *S;
int num;
}list;
int (main){
list *Array[50];
return 0;
}
函数应该是void changeArray(list A[]);
还是void changeArray(list *A[]);
还是void changeArray(list **A[]);
数组定义如下
list *Array[50];
因此,如果您想将此数组传递给函数,则应将其声明为
void changeArray( list *Array[50], size_t n );
或
void changeArray( list *Array[], size_t n );
或
void changeArray( list **Array, size_t n );
并称赞
changeArray( Array, 50 );
在任何情况下,将数组声明作为函数参数调整为指向数组元素类型的对象的指针。
函数可以是 void changeArray(list *A[])
或 void changeArray(list **A)
。两个签名都接受一个指针数组,并允许您更改该数组的元素:
void changeArray(list *A[]) {
...
A[0] = malloc(list);
}
我需要知道是否要创建一个数组,数组的每个元素都是指向链表的指针,并将数组传递给函数,函数是 void
因为我需要更改数组
typedef struct n{
char *S;
int num;
}list;
int (main){
list *Array[50];
return 0;
}
函数应该是void changeArray(list A[]);
还是void changeArray(list *A[]);
还是void changeArray(list **A[]);
数组定义如下
list *Array[50];
因此,如果您想将此数组传递给函数,则应将其声明为
void changeArray( list *Array[50], size_t n );
或
void changeArray( list *Array[], size_t n );
或
void changeArray( list **Array, size_t n );
并称赞
changeArray( Array, 50 );
在任何情况下,将数组声明作为函数参数调整为指向数组元素类型的对象的指针。
函数可以是 void changeArray(list *A[])
或 void changeArray(list **A)
。两个签名都接受一个指针数组,并允许您更改该数组的元素:
void changeArray(list *A[]) {
...
A[0] = malloc(list);
}