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

Đề tài: Danh sách liên kết trong C

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    2

    Post Danh sách liên kết trong C

    e đang tự học đến đoạn ds liên kết trong C, gặp cái chỗ này sách thầy Ất viết đọc ko hiểu, nhờ mấy anh giải thích dùm...
    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"malloc.h"
    typedef struct pp
    {
          char ht[25];
          struct pp *tiep;
    }person;
    main()
    {
         char ht[25];
         person *pdau,*p;
         pdau=NULL;
         while(1)
         {
              printf("\nNhap ho ten: ");
              gets(ht);
              if(ht[0]==0)
                   break;
              if(pdau==NULL)
              {
                  pdau=(*person)malloc(sizeof(person)); 
                  p=pdau; 
              }
              else
              {
                  p->tiep=(*person)malloc(sizeof(person));
                  p=p->tiep;
              }
              strcpy(p->ht,ht);
              p->tiep=NULL;
         }
    }
    ah nào giải thích dùm e cái đoạn in đậm vs nghiêng trong code dùm cái, e không hiểu chỗ đó dùng hàm malloc để cấp phát cái gì nữa, ở dưới cũng có, vs tại sao phải gán p=pdau...nếu không dùng malloc mà e muốn nhập chính xác bao nhiêu lần thì sao...

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Trích dẫn Nguyên bản được gửi bởi vaodaychoi Xem bài viết
    e đang tự học đến đoạn ds liên kết trong C, gặp cái chỗ này sách thầy Ất viết đọc ko hiểu, nhờ mấy anh giải thích dùm...
    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"malloc.h"
    typedef struct pp
    {
          char ht[25];
          struct pp *tiep;
    }person;
    main()
    {
         char ht[25];
         person *pdau,*p;
         pdau=NULL;
         while(1)
         {
              printf("\nNhap ho ten: ");
              gets(ht);
              if(ht[0]==0)
                   break;
              if(pdau==NULL)
              {
                  pdau=(*person)malloc(sizeof(person)); 
                  p=pdau; 
              }
              else
              {
                  p->tiep=(*person)malloc(sizeof(person));
                  p=p->tiep;
              }
              strcpy(p->ht,ht);
              p->tiep=NULL;
         }
    }
    ah nào giải thích dùm e cái đoạn in đậm vs nghiêng trong code dùm cái, e không hiểu chỗ đó dùng hàm malloc để cấp phát cái gì nữa, ở dưới cũng có, vs tại sao phải gán p=pdau...nếu không dùng malloc mà e muốn nhập chính xác bao nhiêu lần thì sao...

    Kiểu này là chưa đọc một chút nào về danh sách liên kết rồi . Dùng mảng động thì tất nhiên phải dùng hàm malloc để cấp phát bộ nhớ cho từng nút rồi
    Dùng biến p để duyệt danh sách thì bạn phải gán p = pdau rồi. Kiểu như nó là một biến chạy đó
    - Nếu ko muốn dùng malloc thì dùng mảng tĩnh để tạo danh sách
    ------ > Tốt nhất vẫn nên đọc lý thuyết thật kỹ chứ chưa đọc mà hỏi thì thấy mơ hồ hơn + khó hiểu

    -- Thân
    Hướng dẫn C++: https://www.youtube.com/watch?v=BwLodoQdoY4&list=PL1c9Uxlo-mplJDRGdONNupgo5OCBTyGGn

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

  1. Lập trình C Các bác giải dùm em bài trộn 2 danh sách có thứ tự thành 1 danh sách có thứ tự trong DS liên kết đơn
    Gửi bởi letranhoangtai trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 05-09-2012, 02:03 AM
  2. Bài tập C++ Tách chẵn lẽ thành 2 danh sách trong danh sách liên kết đơn?
    Gửi bởi leo009394 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 01-01-2012, 04:52 PM
  3. đảo ngược vùng liên kết trong danh sách liên kết đơn
    Gửi bởi khongcochi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 07-07-2011, 10:18 PM
  4. Nhập và xuất danh sách liên kết lồng danh sách liên kết?
    Gửi bởi nvluong_it 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: 22-04-2011, 11:30 AM
  5. Lập trình C Danh sách liên kết - Xử lý danh sách liên kết trong lập trình C
    Gửi bởi phucduan 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: 08-11-2010, 10:25 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