Toán tử quản lý bộ nhớ động
Bộ nhớ động là bộ nhớ mà người sử dụng có thể cấp phát hoặc giải phóng
bộ nhớ tùy theo nhu cầu.
Toán tử cấp phát bộ nhớ động (new)
• dạng 1: new
19 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2086 | Lượt tải: 0
Các hàm nhập xuất theo kiểu nhị phân int fwrite(coid *ptr, int size, int n, FILE *fp); • Ghi n mẫu tin kích thước size byte từ vùng nhớ được trỏ bởi ptr lên tập tin fp. Hàm trả về một gí trị bằng số mẫu tin thực sự ghi được. int fread(coid *ptr, int size, int n, FILE *fp); • Đọc n mẫu tin kích thước size byte từ tập tin fp chứa vào vùng nhớ...
9 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2078 | Lượt tải: 1
Khởi tạo cho một cấu trúc • Ví dụ 5: Khởi tạo biến cấu trúc • struct HOCSINH hocsinh = { • “12A08”, “Le Van Hoang”, 8.5, 9, 5 • }; • Ví dụ 5: Khởi tạo mảng cấu trúc • struct HOCSINH a[20] = { • {“12A00”, “Le Minh An”, 10, 7.5, 8}, • {“12A01”, “Duong Thi Nam Phuong”, 8.5, 9, 5}, • . . . • {“12A019”, “Nguyen Van Dung”, 6, 10, 9}, • };
10 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2214 | Lượt tải: 1
Khái niệm stdin • stdin là dòng vào chuẩn (bàn phím). Khi dữ liệu nhập từ bàn phím theo các lệnh scanf, gets, getchar, thì trước hết chúng được đưa vào stdin, sau đó lần lượt gán cho các biến, nếu còn thì vẫn lưu lại cho các lệnh nhập sau. Muốn xóa sạch stdin phải dùng lệnh fflush(stdin). • Ví dụ 6: • void main() • { • int tuoi; char ten...
10 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2148 | Lượt tải: 1
Mảng vuông Khi số dòng và số cột của một mảng hai chiều bằng nhau, chúng ta gọi mảng đó là mảng vuông (hay ma trận vuông). Số dòng và số cột của ma trận vuông gọi chung là kích thước ma trận vuông, ký hiệu là n. Các phần tử nằm trên đường chéo chính là các phần tử a[i][i] với 0 ≤ i ≤ n-1. Các phần tử nằm trên đường chéo phụ là các phần tử...
10 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2498 | Lượt tải: 2
Tìm kiếm nhị phân • Thuật toán này chỉ áp dụng cho mảng đã có thứ tự tăng. Ý tưởng của thuật toán là tại mỗi bước ta tiến hành so sánh với phần tử nằm ở vị trí giữa của dãy tìm kiếm hiện hành, dựa vào kết quả so sánh này để quyết định giới hạn dãy tìm kiếm ở bước kế tiếp là nửa trên hay nửa dưới của dãy tìm kiếm hiện hành. • int BinarySea...
11 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2694 | Lượt tải: 1
Nguyên mẫu hàm Về nguyên tắc khi gọi một hàm thì hàm đó phải được định nghĩa trước, nếu không chương trình sẽ bị lỗi. Tuy nhiên cũng có thể gọi một hàm chưa đươc định nghĩa trước bằng cách khai báo trước nguyên mẫu hàm. Nguyên mẫu hàm thực chất là dòng đầu của hàm và thêm vào dấu chấm phẩy. Trong nguyên mẫu hàm có thể bỏ tên các đố...
17 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2281 | Lượt tải: 1
Câu lệnh continue
• continue;
• Khi gặp câu lệnh này trong các vòng lặp, máy sẽ bỏ qua phần còn lại trong
vòng lặp và tiếp tục thực hiện vòng lặp tiếp theo. Đối với câu lệnh for thi
máy sẽ tính lại giá trị của biểu thức
9 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2423 | Lượt tải: 1
Câu lệnh switch
• switch (
9 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2296 | Lượt tải: 3
Tràn số trong tính toán • Tràn số xảy ra khi kết quả tính toán trong một biểu thức vượt quá miền xác định của dữ liệu hiện tại. • Ví dụ 6: • void main() • { • int a = 1000; • int b = 50; • long c = a*b; • printf(“%ld\n”, c); //c sẽ mang giá trị âm • } • Do hai biến a và b kiểu int nên chương trình sẽ cho rằng kết quả sẽ thuộc kiểu in...
22 trang | Chia sẻ: maiphuongtl | Ngày: 20/09/2014 | Lượt xem: 2565 | Lượt tải: 1