Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Cho hỏi thêm về ý nghĩa của con trỏ (pointer)

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    24

    Question Cho hỏi thêm về ý nghĩa của con trỏ (pointer)

    Cho tôi hỏi một xíu ý nghĩa về con trỏ như sau:
    NODE *getnode();
    Hàm trên dùng để tạo một nút mới trong danh sách,nhưng dấu * có ý nghĩa như thế nào??Là hàm trả về một giá trị kiểu NODE,,hay là sao...?Xin làm ơn giải thix dùm nha.cám ơn rât nhiều.
    Còn nữa : NODE **delete();
    Dấu ** nghĩa là sao..Tôi thấy có khi ngta lại chỉ dùng 1 dấu * thôi.
    Như là: NODE *delete();
    Giải thích cho tôi hỉu ý nghĩa vì tôi đã học lập trình con trỏ rồi (lý thuyết).Đang trong quá trình thực hành nên các bạn đừng kêu tôi học lý thuyết nhé.Nói đi tôi sẽ hỉu...

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    NODE *getnode();
    PHP Code:
    intgetPointer() 
    Vậy cậu hiểu cái này ra sao ?
    NODE **delete();
    Cậu viết cả thân hàm ra xem ?
    Dấu ** nghĩa là sao..
    Con trỏ tới con trỏ.
    PHP Code:
    Example :
    #include <stdio.h>

    int main(){
      
    int x 5;
      
    int *ptr_to_value = &x;
      
    int **ptr_to_ptr = &ptr_to_value;

      
    printf("%d", **ptr_to_ptr);
      return 
    0;

    Còn cái NODE mà cậu nói thì nó chính là :
    PHP Code:
    struct Node{
      
    int data;
      
    Nodeptr//self referential

    Nó tự tham cái ptr là tham chiếu tới Node đó. Hiểu như vậy sẽ dễ hơn :
    ([data][ptr]-->)
    Cái trong ngoặc () đó là 1 node, nó có dữ liệu và 1 cái đuôi.
    Về con trỏ mới đọc lý thuyết thì chưa đủ sức viết cấu trúc dữ liệu link list đâu, tập chơi với chuỗi *char khoảng 1 tháng sau rồi quay lại chơi với link list. Muốn giỏi C nhất định phải là fan của pointer. Càng chơi với nó thì càng hiểu sâu, còn né nó thì sau này gặp link list sẽ rất cực. Code thì rất nhiều, cậu có thể dễ dàng tìm được, nhưng mình khuyên cậu, đọc hiểu và tự viết là chuyện khác nhau hoàn toàn. Chịu khó xuất ra những cái mình thắc mắc, thêm bớt xem nó ra KQ ra sao, google khi có thắc mắc hoặc post hỏi, cố tìm hiểu thì sẽ ok.

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    224

    NODE *getnode();
    ---> đây là hàm trả về 1 con trỏ trỏ đến điạ chỉ của NODE nào đó do bạn return ra cuối hàm .

    NODE **delete();
    ---> đây là hàm trả về 1 con trỏ trỏ đến 1 con trỏ khác chứa điạ chỉ của NODE nào đó do bạn return ra cuối hàm . Ứng dụng của nó nếu nghiên cứu kỹ sẽ gặp . Nhưng thông thường những con trỏ nhiều nấc như int ****p; ko có nhiều ứng dụng trong thực tiễn .

Các đề tài tương tự

  1. Lập trình C++0x [POINTER] int * method... ý nghĩa và cách dùng
    Gửi bởi quano1 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 26-08-2013, 10:17 AM
  2. Kỹ thuật C++ Cấp thêm bộ nhớ cho Pointer ?
    Gửi bởi TKT.MJ trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 31-03-2013, 11:37 PM
  3. Hỏi về thêm biến khi định nghĩa lại hàm?
    Gửi bởi manasuke trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 26-07-2012, 10:33 PM
  4. Đấu giá lại sim VIP của MobiFone để tặng thêm tiền cho người nghèo
    Gửi bởi simdep2013 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 23-12-2011, 09:29 AM
  5. Đề nghị bác Admin setup thêm SB
    Gửi bởi jetli8x trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 3
    Bài viết cuối: 18-12-2010, 05:30 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn