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)