Điều này có thể là đơn giản, nhưng tôi cố gắng cố gắng hiểu và hiểu rõ hơn về con trỏ. phép nói rằng tôi có một cấu trúcC++ Câu hỏi con trỏ cấu trúc
struct Person{
char Name[20];
char ID[15];
char Address[50];
char Number[15];
};
và cho phép nói rằng tôi có một loạt các lưu trữ trong bộ nhớ như một sau khi khác. vì vậy bây giờ tôi khai báo một con trỏ mới cho cấu trúc.
struct Person *ptr;
Con trỏ này có bắt đầu ở mục FIRST không? (còn gọi là "Tên" đầu tiên) và khi tôi lặp lại nó (hay còn gọi là ptr ++), nó sẽ chuyển đến STRUCT tiếp theo hoặc "mục nhập" tiếp theo cũng giống như tên -> ID ---> Địa chỉ
Vì vậy, hãy nói Im vào mục đầu tiên ví dụ và các dữ liệu là:
Jason Adams
111222333
111 Fake Drive
55555551000
và mục thứ hai là
Matt Johns
111555333
555 Derp lane
1000022434
bây giờ tôi lặp các ptr (ptr ++) sẽ điểm ptr đến struct thứ hai (một với mờ johns) hoặc nó sẽ trỏ đến Jason Adams "ID"
Tôi hy vọng điều này có ý nghĩa?
Oh vì vậy nếu tôi muốn đến mục tiếp theo, tôi sẽ sử dụng ptr + sizeof (Người)? hoặc làm "biết" để đi đến cấu trúc thứ hai khi chỉ sử dụng ptr ++ –
Không. Bất cứ khi nào bạn thêm một giá trị tích phân vào một con trỏ, nó ngầm nhân giá trị bằng 'sizeof ()'. Nếu bạn thêm 1 vào một con trỏ (hoặc bằng 'ptr ++' hoặc 'ptr + n'), nó ngầm tiến lên" một trong những phần tử được trỏ tới. " Nếu bạn đã thêm 'sizeof (Person)' vào một 'Person *', nó sẽ tiến tới nhiều hơn một mục. –
OH gotcha, cảm ơn. thats những gì tôi nghĩ nó đã được nhưng không chắc chắn 100%. –