này có lẽ là một điều cơ bản tầm thường, nhưng nó phần nào thoát khỏi tôi, cho đến nay ..incrementing một mảng của con trỏ trong C
char * a3[2];
a3[0] = "abc";
a3[1] = "def";
char ** p;
p = a3;
công trình này:
printf("%p - \"%s\"\n", p, *(++p));
này không:
printf("%p - \"%s\"\n", a3, *(++a3));
lỗi tôi nhận được ở biên soạn là:
vế trái yêu cầu như toán hạng increment
những gì tôi đang làm sai, tại sao và giải pháp cho 'a3' là gì?
Biến a3 được khai báo là một mảng ký tự, tôi nghĩ bạn muốn khai báo nó như một mảng con trỏ, vì vậy nó nên đọc char * a3 [2] thay vì char a3 [2] – David
đó là một lỗi sao chép qua mã, bạn là đúng, có, nó là một mảng con trỏ, cảm ơn bạn đã chỉ nó ra – XXL