30/09/2018, 20:22

Những lỗi thường gặp trong lập trình

Anh chị em nào có tài liệu hoặc có kinh nghiệm gì về những vấn đề này hỗ trợ em với.
1.Freeing an already freed resource
Array index out of bound
2.Enumerated data types
3. illegal use of & instead of &&:
4. String handling errors

Bé tập Code viết 22:31 ngày 30/09/2018

Freeing an already freed resource

Giải phóng vùng nhớ đã giải phóng rồi (bạn đang dùng cấp phát động)
chẳng hạn:

free(dynamic_variable); //giải phóng rồi
free(dynamic_variable); //giải phóng nữa

Array index out of bound

Truy suất ngoài phạm vi mảng

...
int global_array[10]; //mảng 10 phần tử
...
void ham_nao_do(void) {
 ...
 global_array[10] = 255; //gán giá trị phần tử thứ "11"
 ...
}

Enumerated data types

Đây không phải là lỗi, vui lòng copy nguyên bản lỗi compiler thông báo.

illegal use of & instead of &&:

Dịch ra tiếng Việt là ra nguyên nhân lỗi, bạn dùng (hoặc truyền vào hàm) pointer thay vì pointer to pointer.

String handling errors

Chung chung quá làm sao đưa ví dụ ^^

Hoàn Vũ viết 22:23 ngày 30/09/2018

bạn cho mình hỏi thêm là : Điều gì sẽ xảy ra khi một con trỏ được giải phóng rồi lại được giải phóng nữa
mình vừa thử làm một ví dụ và nó vẫn bình thường không có vấn đề gì xảy ra cả.

#include 
#include 
int main(){
	int a=10;
	int *p;
	p=(int *)malloc(sizeof(int));
	p=&a;
	printf("%d",*p);
	printf("Giai phong p");
	delete(p);
	printf("giai phong lan nua p");
	delete(p);
	}
Bé tập Code viết 22:37 ngày 30/09/2018

Bạn đang viết C++ hay C ?

Phải phân biệt rõ ràng.

Trước hết bạn dùng delete với malloc là hoàn toàn không có nghĩa. Bạn dùng đúng cặp lệnh cấp phát và giải phóng rồi mình bàn tiếp nhé

Bài liên quan
0