By GokiSoft.com| 19:54 17/10/2020|
Lập Trình C

[Share Code] Tìm hiểu mảng 2 chiều + con trỏ pointer - Lập trình C BT2012



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

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

int main(int argc, char *argv[]) {
	int t[3][5] = {
		{
			5, 12, 17, 9, 3
		},
		{
			13, 4, 8, 14, 1
		},
		{
			9, 6, 3, 7, 21
		}
	};
	
//	printf("\nT[2][2] = %d", t[2][2]);
	
//	printf("\nT[0][0] = ");
//	scanf("%d", &t[0][0]);
	
	int i, j;
	for(i=0;i<3;i++) {
		for(j=0;j<5;j++) {
			printf("%5d ", t[i][j]);
		}
		printf("\n");
	}
	
	//Quay sang bai toan con tro : pointer
//	int x;
//	printf("\nNhap gia tri x = ");
//	scanf("%d", &x);
	int x = 10;
	
	//con tro.
	int *p;
	p = &x;
	
	printf("\n&x = %X, x = %d", &x, x);
	printf("\n&p = %X, p = %X, *p = %d", &p, p, *p);
	
	x++;
	printf("\n%d", *p);
	
	x+=2;
	printf("\n%d", *p);
	
	*p = *p + 1;
	printf("\nx = %d", x);
	*p = x + 1;
	printf("\nx = %d", x);
	*p += 1;
	printf("\nx = %d", x);
	*p++;
	printf("\n*p = %d", *p);
	
	//ap dung;
	int k[5];
	
	for(i=0;i<5;i++) {
		printf("\nNhap gia tri k[%d] = ", i);
//		scanf("%d", &k[i]);
		scanf("%d", k + i);
	}
	
	for(i=0;i<5;i++) {
		printf("\nk[%d] = %d", i, k[i]);
	}
	
	int *q;
	q = k;
//	q = &k[0];
	for(i=0;i<5;i++) {
		printf("\nk[%d] = %d", i, q[i]);
	}
	//Cap phat o nho.
	int *g;//lam sao cap phat dc 1 mang gom 5 phan tu.
	g = (int *) malloc (10 * sizeof(int));
	for(i=0;i<10;i++) {
		printf("\nNhap gia tri g[%d] = ", i);
		scanf("%d", g + i);
	}
	free(g);
	int *qq;
	qq = (int*) calloc(5, sizeof(int));
	for(i=0;i<5;i++) {
		printf("\nNhap gia tri qq[%d] = ", i);
		scanf("%d", qq + i);
	}
	//mo rong o nho : 5 => 8
	qq = (int*) realloc(qq, 8 * sizeof(int));
	for(i=5;i<8;i++) {
		printf("\nNhap gia tri qq[%d] = ", i);
		scanf("%d", qq + i);
	}
	//mo rong o nho : 8 => 10
	qq = (int*) realloc(qq, 8 * sizeof(int));
	for(i=8;i<10;i++) {
		printf("\nNhap gia tri qq[%d] = ", i);
		scanf("%d", qq + i);
	}
	
	for(i=0;i<8;i++) {
		printf("\nqq[%d] = %d", i, qq[i]);
	}
	
	//mo rong o nho : 8 => 10
	qq = (int*) realloc(qq, 2 * sizeof(int));
	for(i=0;i<2;i++) {
		printf("\nqq[%d] = %d", i, qq[i]);
	}
	
	free(qq);
	return 0;
}




Tags:

Liên kết rút gọn:

https://gokisoft.com/2012

Bình luận