IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình C/C++ Dành cho người mới bắt đầu.

Cài đặt môi trường & tạo dự án đầu tiên

[Video] - Nhập môn cho người mới bắt đầu - Lập trình C [Video] Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C [Video] Hướng dẫn cài đặt môi trường lập trình C - Lập trình C [Video] Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C

Nhập xuất dữ liệu từ bàn phím

[Video] Toán tử & biểu thức login trong C - Lập Trinh C [Video] Nhập dữ liệu trong C (scanf, printf) - Lập trình C [Video] Nhập xuất dữ liệu phần 2 - Lập Trình C

Mệnh đề điều kiện

[Video] Tìm hiểu if, else, switch trong lập trình C - Lập Trình C

Vòng lặp (for, while, do .. while)

[Video] Tìm hiểu về vòng lặp for trong C - Lập trình C [Video] Tìm hiểu while, do..while trong lập trình C - lập Trình C [Video] - Hướng dẫn chữa bài Fibonaci - Lập Trình C

Mảng trong C & ôn tập

[Video] Tìm hiểu mảng 1 chiều trong C - Lập trình C [Video] Tìm hiểu mảng 2 chiều - Lập Trình C

Pointer

[Video] Tìm hiểu pointer phần 1 - Lập Trình C [Video] Tìm hiểu pointer phần 2 - Lập Trình C [Video] Tìm hiểu pointer phần 3 - Lập trình C [Video] Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động

Function & String & Struct & File

[Video] Tìm hiểu function trong lập trình C - Lập Trình C [Video] Tìm hiểu string trong lập trình C - Lập Trình C [Video] Tìm hiểu Struct trong C | Khóa học lập trình C

Ôn tập tổng quát C

[Video] Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C [Video] Chương trình quản lý tỷ phú bằng C | Khóa học lập trình C 1000 Bài tập C - Lập Trình C

Cấu Trúc Dữ Liệu & Giải Thuật

Phần 1 | Mở đầu cầu trúc dữ liệu & giải thuật là gì? | Khoá học cấu trúc dữ liệu & giải thuật




Trang Chủ Lập Trình C [Video] Tìm hiểu con trỏ - Pointer - Lập trình C

[Video] Tìm hiểu con trỏ - Pointer - Lập trình C

by GokiSoft.com - 15:09 03/12/2021 2,116 Lượt Xem



#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[]) {
	//Pointer
	//Bai toan nhap du lieu
	int x = 5;
	char c;
	float t;
	int k[10];
//	printf("\nNhap x = ");
//	scanf("%d", &x);
	
	printf("\nX -> Gia tri x = %d, dia chi: %X", x, &x);
	
	//Bai toan con tro => pointer
	int *p;//bien con tro => pointer
	p = &x;
	printf("\nP -> Gia tri p = %X, dia chi: %X, gia tri tro toi: %d", p, &p, *p);
	
	x++;
	printf("\n*p = %d", *p);//6
	
	*p = *p + 1;
	printf("\nx = %d", x);//7
	
	*p += 1;
	printf("\nx = %d", x);//8
	
	*p = x + 2;
	printf("\nx = %d", x);//10
	
	(*p)++;
	printf("\nx = %d", x);//11
	printf("\n*p = %d", *p);//11
	
	*p++;
	printf("\nx = %d", x);//11
	printf("\n*p = %d", *p);//11
	
	//mang
	int m[5] = {1, 5, 2, 7, 8};
	int i;
//	for(i=0;i<5;i++) {
//		printf("\nNhap m[%d] = ", i);
////		scanf("%d", &m[i]);
//		scanf("%d", m + i);
//	}
	
	int *q;
	//lam sao de cai dat *q -> tro toi mang m nhu nao
	q = &m[0];//q = m;
	//q, q+1, q+2, q+3, q + 4 <=> m, m+1, m+2, m+3, m+4
//	for(i=0;i<5;i++) {
//		printf("\n%d", m[i]);
//		printf("\n%d", *(m+i));
//		printf("\n%d", q[i]);
//		printf("\n%d", *(q+i));
//	}
	printf("\np = %d", q[0]);
	*q++;
	printf("\np = %d", q[0]);
	
	//cap phat o nho cho con tro pt;
	int *pt;
	//lam sao cap phat cho con tro pt => tro toi 1 mang gom 5 phan tu.
	pt = (int *) malloc(5 * sizeof(int));//pt => cap phat cho pt 1 mang gom 5 so nguyen
	for(i=0;i<5;i++) {
		printf("\nNhap pt[%d] = ", i);
		scanf("%d", pt + i);
	}
	for(i=0;i<5;i++) {
		printf("%d", pt[i]);
	}
	free(pt);
	
	//Bai toan: *d => 1 (1), 2 (3), 5 (8) => lam sao quan ly mang *d => cap phat dong =< 1, 3, 8
	int *d;
	d = (int *) calloc (1, sizeof(int));
	for(i=0;i<1;i++) {
		printf("\nNhap d[%d] = ", i);
		scanf("%d", d + i);
	}
	//cap d => tong so phan tu la 3
	d = (int *) realloc (d, 3 * sizeof(int));
	for(i=1;i<3;i++) {
		printf("\nNhap d[%d] = ", i);
		scanf("%d", d + i);
	}
	for(i=0;i<3;i++) {
		printf("%d", d[i]);
	}
	
	return 0;
}




Bình luận



Chia sẻ từ lớp học

Tài Liệu Tham Khảo

Đã sao chép!!!