有没有区别:
char *foo[size];
和
char (*foo)[size];
在这个例子中,如果我用第一个方法声明我的指针,编译器会抱怨:
void alloc_unitary_matrix(size_t size, char (*matrix)[size]) {
matrix = malloc(size*size);
memset(matrix, 1, size*size);
}
void main() {
size_t size = 10;
char (*matrix)[size];
alloc_unitary_matrix(size,matrix);
}
我误解了什么?