Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Struct lồng nhau ??

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

    Thumbs down Struct lồng nhau ??

    t gặp một vấn đề kỹ thuật mong anh em giúp đỡ

    bây giờ mình có 2 struct s1 và s2 và trong struct s1 có con trỏ đến 1 đối tượng s2 và trong s2 có con trỏ đến 1 đối tượng s1
    đại loại là thế này

    Code:
    typedef struct
    {
          s2* data;
    }s1;
    typedef struct
    {
          s1* data;
    }s2;
    Vậy thì mình có cách nào làm được như vậy ko nhỉ ???
    Đã được chỉnh sửa lần cuối bởi babe : 18-03-2008 lúc 06:18 PM.

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

    Tại sao lại ko được nhỉ ? Có điều hình như phải khai báo s2 hoặc s1 lên trước đã hén .
    ttecak ?

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    8

    Theo mình thì ko được vì khi sử dụng cả 2 con trỏ này cùng lúc thì chúng sẽ bị đè địa chỉ
    Tốt nhất bạn nên làm riêng biệt vì trong C# có sẵn bộ dọn rác nên ko sợ tốn memory,

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    UIT
    Bài viết
    44

    Trích dẫn Nguyên bản được gửi bởi nguyenthu Xem bài viết
    Tốt nhất bạn nên làm riêng biệt vì trong C# có sẵn bộ dọn rác nên ko sợ tốn memory,
    Đây là box hỏi đáp kỹ thuật lập trình c

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    8

    I'm sorry !
    Làm j mà nóng zữ zậy bbaacc... --> lần sau em chú ý hơn

  6. #6
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Mặc định Struct lồng nhau ??

    ặc trong c# làm gì có con trỏ chứ
    ttecak ?

  7. #7
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Học thêm kiến thức lập trình 1 tý. struct là sự khai báo 1 kiểu dữ liệu còn pointer là sự liên kết với 1 biến. Có liên quan gì đến nhau đâu mà phải lo lắng.

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

    ặc , vấn đề là ở chỗ nếu để s1 lên trước s2 thì s1 ko biết con trỏ đến 1 struct s2 là thế nào còn nếu để ngược lại thì s2 lại ko biết con trỏ s1 ????

    C# nó thực hiện được điều này
    ví dụ trong C# nó có 2 lớp Root và Node
    thì trong Root chứa 1 Node và Node chứa 1 Root
    T muốn thực hiện khả năng đó với C nên mới có cấu trúc lồng nhau như trên
    Mọi người đọc kỹ câu hỏi hộ mình nhé , nó ko phải đơn giản đâu

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

    Trích dẫn Nguyên bản được gửi bởi huynguyen Xem bài viết
    Học thêm kiến thức lập trình 1 tý. struct là sự khai báo 1 kiểu dữ liệu còn pointer là sự liên kết với 1 biến. Có liên quan gì đến nhau đâu mà phải lo lắng.
    Ặc , thế giờ khai báo 1 pointer đến 1 struct chưa được định nghĩa cũng được ah , ko liên quan là thế nào , ko liên quan thì khi free(void* apointer ) làm sao biết phải giải phóng bao nhiêu byte tính từ địa chỉ apointer ?_?

    Có lẽ bạn nên học thêm về bộ biên dịch C , cách HDH quản lý bộ nhớ và không gian bộ nhớ của 1 process để có cái nhìn chính xác hơn

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

    Ặc , thế giờ khai báo 1 pointer đến 1 struct chưa được định nghĩa cũng được ah , ko liên quan là thế nào , ko liên quan thì khi free(void* apointer ) làm sao biết phải giải phóng bao nhiêu byte tính từ địa chỉ apointer ?_?

    Có lẽ bạn nên học thêm về bộ biên dịch C , cách HDH quản lý bộ nhớ và không gian bộ nhớ của 1 process để có cái nhìn chính xác hơn
    How about template meta programming ?
    C++ Code:
    1. template <typename T>
    2. class first{
    3.     typename T::iterator iterToSecond;
    4. };
    5.  
    6. template <typename C>
    7. class second{
    8.     typename C::iterator iterToFirst;
    9. };

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

  1. Gửi struct thông qua socket có khác nhau giữa gửi từng field và gửi cả struct?
    Gửi bởi bptvip_pro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 12-05-2013, 02:35 AM
  2. Lập trình C++ Giúp đỡ về điểm khác nhau giữa struct và typedef struct
    Gửi bởi huydang2410 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-02-2013, 10:30 AM
  3. Kỹ thuật C++ struct lồng nhau sử dụng ra sao
    Gửi bởi CongGio trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 31-10-2011, 07:02 PM
  4. Bài toán phân số bằng struct bị lỗi khi nhập 2 phân số bằng nhau
    Gửi bởi yennhi2812 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 09-03-2011, 11:56 PM
  5. VC++ cách gán 2 biến của 1 struct với nhau
    Gửi bởi honey trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 02-09-2009, 05:29 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