Mọi thứ bạn cần biết về con trỏ trong C



Bài viết này sẽ giới thiệu cho bạn chủ đề được cho là khó học, chúng tôi đang đề cập đến chủ đề con trỏ trong ngôn ngữ C.

Trong khi học C, bạn có thể đã bắt gặp thuật ngữ ‘Pointers’ và thường nghe nói rằng nó là một khái niệm khó hiểu. Con trỏ hữu ích trong các tác vụ lập trình khác nhau và nó không khó hiểu lắm. Bài viết này sẽ giới thiệu cho bạn về các con trỏ trong C và cho bạn biết tại sao chúng không quá khó học như chúng có vẻ.

Sau đây là các gợi ý được đề cập trong bài viết này,





  1. Con trỏ là gì?
  2. Toán tử tham chiếu và hủy tham chiếu
  3. Các loại con trỏ
  4. Cách sử dụng con trỏ

Hãy bắt đầu với bit đầu tiên của con trỏ này trong bài viết C,

Con trỏ trong C

Con trỏ là gì?

Con trỏ là một biến có khả năng lưu trữ địa chỉ của một biến. Bây giờ, bạn có thể hỏi công dụng của cái đó là gì? Về cơ bản, con trỏ trỏ đến vị trí bộ nhớ của biến có địa chỉ được cung cấp. Thuộc tính này giúp phân bổ bộ nhớ động, là một khía cạnh quan trọng của lập trình.



Hãy hiểu cú pháp của nó và xem một ví dụ

Data_Type * pointer_name

Thí dụ: int * ptr

cấu trúc dữ liệu và thuật toán java

Sau đây là phần tiếp theo trong bài viết Con trỏ trong C này



Toán tử tham chiếu và hủy tham chiếu

Trước khi tìm hiểu sâu hơn về khái niệm con trỏ, chúng ta hãy hiểu một số điều cơ bản sẽ giúp ích cho chúng ta sau này. Trong khi sử dụng con trỏ, bạn chắc chắn sẽ sử dụng toán tử ‘&’ và ‘*’. Bây giờ là lúc để hiểu ý nghĩa và cách sử dụng của chúng.

Trước tiên, hãy hiểu toán tử Tham chiếu thường được gọi là toán tử 'Địa chỉ của'. Sử dụng toán tử (dấu và) với một biến trả về cho chúng ta một vị trí bộ nhớ còn được gọi là địa chỉ của biến đã cho.

Thí dụ

int * ptr int a ptr = & a

Địa chỉ của biến ‘a’ được lưu trong biến ptr.

Bây giờ, chúng ta hãy hiểu toán tử Khử tham chiếu hoặc 'Giá trị tại' được biểu thị bằng dấu hoa thị (*). Nó giúp lấy giá trị từ vị trí bộ nhớ được lưu trữ trong biến con trỏ

Thí dụ

int * ptr int a * ptr = & a printf ('Giá trị của a =% dn', * ptr)

Các loại con trỏ Dấu * được sử dụng trong khi khai báo một con trỏ không nhằm mục đích De-Referencing, nhưng nó cho trình biên dịch biết rằng biến đã cho là một con trỏ.Câu lệnh in ở trên in ra giá trị có trong vị trí bộ nhớ và vị trí bộ nhớ này được trỏ bởi con trỏ. tức là giá trị của biến ‘a’.

Có một số loại con trỏ khác nhau dựa trên cách chúng được sử dụng trong một chương trình.Chúng ta sẽ xem xét một số loại được sử dụng phổ biến nhất.

Null Pointer

Giá trị null được gán cho một con trỏ khi bạn không chắc chắn địa chỉ nào sẽ được gán. Nó có thể được thực hiện bằng cách gán giá trị ‘NULL’ cho một con trỏ tại thời điểm khai báo. Giá trị của con trỏ này là 0.

sự khác biệt giữa java và c ++ là gì
int * ptr = NULL

Con trỏ hoang dã

cách viết phương thức tostring trong java

Một con trỏ đại diện được tạo bằng cách không gán bất kỳ giá trị nào cho một biến con trỏ. Nó nên được sử dụng cẩn thận vì nó có thể dẫn đến kết quả không mong muốn.

Con trỏ nguy hiểm

Khi một con trỏ trỏ đến một biến đã bị xóa hoặc bộ nhớ không được cấp phát, con trỏ được gọi là một con trỏ treo.Con trỏ này trỏ đến một vị trí bộ nhớ không tồn tại. Hãy để chúng tôi xem xét phần tiếp theo của bài viết Con trỏ trong C này

Cách sử dụng con trỏ

Bây giờ chúng ta đã hiểu sơ qua về các toán tử tham chiếu và tham chiếu. Trong phần này, chúng ta sẽ hiểu cách sử dụng con trỏ. Cho đến bây giờ chúng ta đã học cách khai báo một con trỏ và sử dụng nó cho một số hoạt động cơ bản. Tại thời điểm này, chúng ta có đủ kiến ​​thức để sử dụng con trỏ cho các nhiệm vụ lập trình thực sự tuyệt vời bằng cách thực hiện các phép toán số học trên chúng.

Thông thường, các hoạt động này được thực hiện trên mảng. Trừ đi 2 địa chỉ có thể cho chúng ta khoảng cách giữa 2 vị trí bộ nhớ.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Mảng của chúng ta mà chúng ta sẽ thực hiện các phép toán * / int * ptr / * Con trỏ * / ptr = First_array / * Gán địa chỉ của mảng cho biến con trỏ * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

Đầu ra

Đầu ra - Con trỏ trong C - EdurekaHãy thử tự mình triển khai mã và thực hiện các phép toán số học khác nhau.Hãy sử dụng con trỏ với chuỗi.

#include #include int main () {char str [] = 'Hello World' / * Tạo mảng * / char * p / * Con trỏ * / p = str printf ('In tất cả các ký tự trong stringn của chúng ta') p = str for (int i = 0i


Với điều này, chúng ta đến phần cuối của blog này về ‘Con trỏ trong C’. Tôi hy vọng bạn thấy thông tin này bổ ích và hữu ích, hãy theo dõi để biết thêm các hướng dẫn về các chủ đề tương tự. Bạn cũng có thể xem chương trình đào tạo của chúng tôi t
o có được kiến ​​thức chuyên sâu về jQuery cùng với các ứng dụng khác nhau của nó, bạn có thể để được đào tạo trực tuyến trực tiếp với hỗ trợ 24/7 và quyền truy cập trọn đời.Thực hiện đoạn mã trên với các chuỗi và sửa đổi khác nhau. Bây giờ, chúng ta đã hiểu rõ về tất cả các khái niệm chính liên quan đến con trỏ.

Có một câu hỏi cho chúng tôi? Đề cập đến họ trong phần bình luận của blog này và chúng tôi sẽ liên hệ lại với bạn.