Về sử dụng con trỏ trong mảng 1 chiều

Các bác cho em hỏi là khi mà mình dùng con trỏ để viết hàm tính toán trong mảng 1 chiều ấy.
mình dùng a[i] với *(a+i) theo em biết là nó không khác nhau, nhưng dùng a[i] có thể hiện được mình dùng con trỏ hay không ạ, hay là nhất thiết phải *(a+i) ???

“dùng con trỏ” là sao? Là dạng bài tập sử dụng con trỏ à? Nếu vậy thì chỉ được xài *aa++, ++a, --a, a-- thôi nhé ko có *(a+i) gì hết, vì nếu cho xài *(a+i) thì chỉ cần thay thế a[i] thành *(a+i) hết là “xong” bài tập con trỏ thì ko phải là dùng con trỏ đâu.

1 Like

mảng chính là con trỏ rồi chứ gì nữa ???
sử dụng con trỏ là gồm truyền hàm vào hàm, con trỏ mảng tới hàm, các phép tính con trỏ, cái bạn nói chỉ là mối quan hệ giữa mảng với con trỏ thôi.

ok tks các bác nhiều nha <3

2 cách truy cập con trỏ *(a+i)a[i] là như nhau mà. Lúc mới học mình cũng thích dùng *(a+i) vì muốn phân biệt với mảng. Nhưng làm nhiều thành ra quen nên cứ viết a[i] cho nó tiện hơn. Với cả nếu bạn làm mảng 2 chiều với con trỏ cấp 2 thì cách a[i][j] ngắn gọn hơn, nếu không phải viết kiểu này*(a+i*m+j) khá bất tiện.

mảng ko phải con trỏ chứ cái giống ở đây là cái cách nó truy cập mới giống con trỏ chứ mảng ko phải con trỏ cái cách nó trỏ tới để truy cập đến vị trí tại đó mới giống con trỏ đừng nhầm lẫn
con trỏ là nơi chứa địa chỉ truy cập đến đâu đó = cách trỏ đến địa chỉ đó và lấy
mảng là nơi chứa giá trị truy cập đến đâu đó = cách trỏ đến vị trí đó và lấy

1 Like

:)) theo mình thì mảng chính là con trỏ đấy bạn ,khi ra cái lệnh khai báo mảng nghĩa là cấp 1 vùng nhớ liên tiếp , nếu int char thì mỗi phần tử sẽ chiếm lần lượt là 4byte và 1 byte tương tự với các kiểu dữ liệu khác . khi truy xuất đế 1 phần tử giả sư a[i] compiler (ko biết đúng chính tả ko @@) sẽ hiểu là *(a+i) nếu ko tin bạn vẫn có thể ghi i[a] . vẫn chính xác như thường debug sẽ thấy. còn a chính là con trỏ giữ đia chi phần tử thứ a[0]. bạn có thể printf ra a và so sánh với a[0] nhé

&a và a là như nhau :slight_smile: với a là mảng.

a+i và i+a thực chất là hai phép tính khác nhau (do a, i khác kiểu) :smiley: nhưng có cùng một kết quả.

1 Like

mình ns vậy chỉ để chứng minh thôi bạn ah

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