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

Đề tài: Hàm delete và new trong c có nghĩa gì???

  1. #1
    Ngày gia nhập
    12 2010
    Nơi ở
    Vi Sơn Đảo.
    Bài viết
    83

    Thumbs down Hàm delete và new trong c có nghĩa gì???

    Sau một thời gian hỏi thăm ý kiến của anh google , anh ý chỉ đưa web bằng tiếng anh thôi...
    thực sự mình ko biết hàm delete và new trong c có nghĩa gì proa nào giải thích hộ cái thanks...
    Exam:
    Code:
    a=new int [n+1];
    b=new int(10);
    delete[] a;
    delete[] b;
    ____________________________________
    Bạn hãy ghé thăm

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

    Trích dẫn Nguyên bản được gửi bởi luckyfor Xem bài viết
    Sau một thời gian hỏi thăm ý kiến của anh google , anh ý chỉ đưa web bằng tiếng anh thôi...
    thực sự mình ko biết hàm delete và new trong c có nghĩa gì proa nào giải thích hộ cái thanks...
    Exam:
    Code:
    a=new int [n+1];
    b=new int(10);
    delete[] a;
    delete[] b;
    hàm new cấp phát bộ nhớ còn del thì thu hồi.

    giá trị trả về của hàm new là 1 số khác không nếu bộ nhớ còn, = không nếu hêt bộ nhớ. Bộ nhớ trên ram í

    vì là bộ nhớ nên a và b ở đây phải là biến con trỏ, vì cont rỏ dùng để chỉ đến 1 vùng bộ nhớ.

    int *a;
    a=new int;
    a=new int[10]; cấp phát bộ nhớ liên lục,(mảng í ,không biết giải thích sao ^^), con trỏ chỉ cần trỏ chứa địa chỉ đầu tiên của mảng thì có thể truy nhập vào phần tử mang rồi.
    del thì thu hồi lại thôi

    mình cũng mới học nên chỉ hiểu sơ sơ,

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

    Các bạn chú ý là trong C ko có hàm nào gọi là hàm new
    Và hoàn toàn ko tồn tại "hàm" new và hàm "delete"
    Chúng là 2 toán tử trong C++
    Trong C có hàm quản lý cấp phát, thu hồi: malloc, calloc, alloc, free

    http://diendan.congdongcviet.com/showthread.php?t=27769
    Đã được chỉnh sửa lần cuối bởi beautifulsoul84hung : 16-09-2011 lúc 10:57 PM.

  4. #4
    Ngày gia nhập
    03 2011
    Nơi ở
    Bình Dương, Hồ Chí Minh
    Bài viết
    392

    Trích dẫn Nguyên bản được gửi bởi luckyfor Xem bài viết
    Sau một thời gian hỏi thăm ý kiến của anh google , anh ý chỉ đưa web bằng tiếng anh thôi...
    thực sự mình ko biết hàm delete và new trong c có nghĩa gì proa nào giải thích hộ cái thanks...
    Exam:
    Code:
    a=new int [n+1];
    b=new int(10);
    delete[] a;
    delete[] b;
    dòng code:
    Code:
    a=new int [n+1];
    dòng này với hàm new sẽ cấp phát vùng nhớ lưu n+1 phần tử thuộc kiểu int.
    và nó sẽ trả về địa chỉ của ô nhớ đầu tiên rồi gán vào biến a(các phần tử còn lại nằm gần nhau)

    còn dòng code:
    Code:
    b=new int(10);
    sẽ cấp phát vùng nhớ lưu 1 phần tử thuộc kiểu int, và giá trị ở vùng nhớ này được gán bằng 10.
    hàm này sẽ trả về địa chỉ của vùng nhớ vừa được cấp phát.

    Lệnh delete dùng để thu hồi bộ nhớ được cấp phát bằng lệnh new.
    tuy vậy khi thu hồi về thì con trỏ nó vẫn trỏ đến vùng nhớ cũ (chỉ là không sử dụng được vùng nhớ cũ này)

    đối với hàm: a=new int [n+1] => dùng lệnh delete []a;
    đối với hàm: b=new int(10) => dùng lệnh delete b; (không có dấu [])

  5. #5
    Ngày gia nhập
    12 2010
    Nơi ở
    Vi Sơn Đảo.
    Bài viết
    83

    Thanks tất cả!!! em cũng hiểu được phần nòa rồi.. hix
    ____________________________________
    Bạn hãy ghé thăm

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

  1. Bài tập C++ Lỗi delete trong cấp phát động
    Gửi bởi briankun trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 10-05-2013, 07:55 PM
  2. làm sao có thể delete table có id khóa chính đồng thời delete id đó trong table khác
    Gửi bởi thuan trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 3
    Bài viết cuối: 14-10-2011, 10:44 AM
  3. Hàm new, delete trong C++ và vấn đề về memory
    Gửi bởi quanganhct trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 08-12-2010, 11:31 PM
  4. Lỗi dùng delete và new trong C++?
    Gửi bởi longcock trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 14-10-2010, 07:56 PM
  5. Cách sử dụng phương thức hủy(delete) trong C#
    Gửi bởi svcntt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 24-07-2009, 11:08 AM

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