Sự khác nhau của mảng trong Python và C

Mình đang đọc 1 cuốn sách về Python. Có đoạn như sau:
Khai báo 1 mảng:
s = “abcd”
sau đó có thể sử dụng a[-1], a[-2], …
Mình có thử qua C, nhưng có thể là đoạn code của mình bị sai:

#include <stdio.h>
int main(){
    char s[] = "abcd";
   printf("%d\n",s[-1]);
    return 0;
}

Thắc mắc của mình là a[-1], a[-2] có thể sử dụng trong C được không và nếu được thì cách sử dụng như thế nào.
Mình có thử qua C nhưng không được:

Câu trả lời cuối cùng là Không.
Vì đối với C thì mảng được đánh số từ 0, còn Python định nghĩa thêm chỉ số -1, -2 thức chất là lấy ngược lại thôi (số phần tử mảng + các chỉ số âm trên). Theo mình nghĩ là do tuyên ngôn của Python là giảm thiểu việc gõ code, chính vì thế người ta đưa thêm các chỉ số âm như bạn thấy

Cảm ơn bạn nhiều. Mình cũng nghĩ là vậy nhưng chưa chắc chắn lắm. :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?