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)