By GokiSoft.com| 20:39 16/12/2021|
Lập Trình C

[Video] Tìm hiểu về pointer trong C - C2110L - Phần 1



#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[]) {
	//Phan 1: Khai bao bien -> bien : gia tri + dia chi cua bien.
	int x = 5;
	printf("\nx = %d", x);
	
//	int y;
//	printf("\nNhap y = ");
//	scanf("%d", &y);
//	printf("\ny = %d", y);
	
	//Phan 2: Khai niem con tro -> pointer
	int *p;//Bien tro khac vs bien thuong -> dau * dat truoc ten bien
	p = &x;
	printf("\n(x) gt = %d, dc = %X", x, &x);
	printf("\n(x) gt = %X, dc = %X", p, &p);
	printf("\n(x) gt = %X, dc = %X, gt tro toi: %d", p, &p, *p);
	//Hieu dc con tro la gi???
	*p = *p + 1;
	printf("\n(1) x = %d, *p = %d",x, *p);
	
	*p = x + 1;
	printf("\n(2) x = %d, *p = %d",x, *p);
	
	//Chu y:
	x = x + 5;//x +=5;
	x = x + 1;//x +=1; x++; ++x;
	
	*p = *p + 5;//*p += 5;
	*p = *p + 1;//*p += 1;
	//Nhung 2 lenh sau se mang y nghia khac: *p++ | ++*p -> Mang y nghia khac
	printf("\n(2) x = %d, *p = %d",x, *p);
	
	*p++;
	printf("\n(2) x = %d, *p = %d",x, *p);
	
	//Phan 2: Tim hieu ve mang
	int t[5] = {5, 2, 1, 9, 10};
	
//	printf("\nNhap t[0] = ");
//	scanf("%d", &t[0]);
//	
//	printf("\nt[0] = %d, d/c = %X", t[0], &t[0]);
//	
//	printf("\nNhap t[0] = ");
//	scanf("%d", t);
//	
//	printf("\nt[0] = %d, d/c = %X", t[0], t);
	
	int i;
	for(i=0;i<5;i++) {
		printf("\nNhap t[%d] = ", i);
//		scanf("%d", &t[i]);
		scanf("%d", t+i);
	}
	
	//Mang con tro
	int *q;
	q = t;
	
	for(i=0;i<5;i++) {
		printf("\nq[%d] = %d", i, q[i]);
	}
	
	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 đó