Cần một chút trợ giúp để hiểu chính xác những gì đang xảy ra trong đoạn mã này. Khi tôi chạy chương trình nó in 7.Tìm hiểu các mảng và con trỏ C
#include <stdio.h>
int main() {
int a[] = {1,2,3,4,5,6,7,8,9};
int b[] = {1,2,3,4,5,6,7,8,9};
int c = 5;
int *p = a;
printf("--> %d", (c[b])[p]);
return 0;
}
Tôi chỉ là một chút nhầm lẫn khi nói đến (c [b]) [p] phần trong báo cáo kết quả printf. Bất kỳ trợ giúp/giải thích nào sẽ được đánh giá cao.
'c [b]' có nghĩa là '* (c + b)'. Điều đó sẽ giúp ích. – bzeaman
Có thể trùng lặp [Tên mảng là con trỏ trong C?] (Http://stackoverflow.com/questions/1641957/is-array-name-a-pointer-in-c) – jww
@BennoZeeman Bạn quên một số dấu ngoặc đơn. Họ quan trọng. tức là, xem câu trả lời hiện tại. –