By GokiSoft.com| 19:32 21/12/2021|
Lập Trình C

[Share Code] Tìm hiểu pointer - malloc & calloc & realloc trong C - Khóa học lập trình C - C2110L

Tìm hiểu pointer - malloc & calloc & realloc trong C - Khóa học lập trình C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	//Khai bao mang du lieu
	/**int t[5] = {6, 3, 10, 12, 1};
	int *p, i;
	p = t;
	
	for(i=0;i<5;i++) {
		printf("\np[%d] = %d", i, p[i]);
	}
	
	//Khai bao 1 tro *q
	int *q;
	//lam so co the cap phat cho q -> 1 mang so nguyen gom 6 phan tu
	q = (int *) malloc (6 * sizeof(int));//cap mang char, float, unsigned int, ... -> thay int bang kieu du lieu tuong ung la dc
	
	//Nhap du lieu cho mang q
	for(i=0;i<6;i++) {
		printf("\nq[%d] = ", i);
		scanf("%d", q + i);
		//scanf("%d", &q[i]);
	}
	
	//Hien thi du lieu dau ra
	printf("\nDanh sach phan tu trong mang: ");
	for(i=0;i<6;i++) {
		printf("%d ", q[i]);
	}
	
	//Ly do -> tai sao su dung con tro de cap phat vung nho
	free(q);//huy vung nho da cap phat cho q -> giai phong tai nguyen
	
	//Phan 2: Cap phat dong
	//B1. Cap phat q -> 3 o nho
	printf("\nKhoi tao cap phat 3 o nho\n");
	q = (int *) calloc (3, sizeof(int));
	for(i=0;i<3;i++) {
		printf("\nq[%d] = ", i);
		scanf("%d", q + i);
	}
	
	printf("\nNoi them 2 o nho\n");
	q = (int *) realloc(q, 5 * sizeof(int));//noi them 2 o nho
	for(i=3;i<5;i++) {
		printf("\nq[%d] = ", i);
		scanf("%d", q + i);
	}
	
	printf("\nNoi them 2 o nho\n");
	q = (int *) realloc(q, 7 * sizeof(int));//noi them 2 o nho
	for(i=5;i<7;i++) {
		printf("\nq[%d] = ", i);
		scanf("%d", q + i);
	}
	
	printf("\nDanh sach phan tu trong mang: ");
	for(i=0;i<7;i++) {
		printf("%d ", q[i]);
	}*/
	
	//Phan 3: Tim hieu ve function (ham) cua string strchr & strstr
	char s1[50], c;
	
	int x;
	printf("\nNhap x = ");
	scanf("%d", &x);
	printf("\nx = %d", x);
	
	printf("\nNhap s1 = ");
	fflush(stdin); fflush(stdout);
	gets(s1);
	
	printf("\nNhap c = ");
	fflush(stdin); fflush(stdout);
	scanf("%c", &c);
	
	char *sp;
	sp = strchr(s1, c);
	printf("\nKet qua: %s", sp);
	
	char s2[50];
	printf("\nNhap s2 = ");
	fflush(stdin); fflush(stdout);
	gets(s2);
	
	sp = strstr(s1, s2);
	printf("\nKet qua: %s", sp);
	
	return 0;
}




Tags:



Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó