[r]
Trang 1CON TR Ỏ
Trang 2Gv.Khương Đ i Th ạ ể 2
CON TRỎ (Pointer)
Gán đ a ch ị ỉ
P = &x; // p = x; Error
Truy xu t n i dung bi n ấ ộ ế
*p = *p – 12;
p = &y;
y – = 15;
x += 20;
P = (int*)malloc(sizeof(int));
*P = x – 10;
Free(p);
Khai báo bi n và kh i t o ế ở ạ
int x = 8, y = 10;
Khai báo bi n pointer ế
int *p;
x
0xFA30
y 0xFA32
????
p
????
0xFA30 NULL
6?
// x = *p = – 4 , y = 10 // y = *p = 10 , x = – 4 // y = *p = – 5 , x = – 4 // x = 16 , y = *p = – 5
// *p = 6, x = 16, y = – 5
0xAA00
// p = NULL
????
0xAA00
????
Trang 3HÀM
Trang 4Gv.Khương Đ i Th ạ ể 4
Function
Ham la môt đoan ch ̀ ̀ ̣ ̣ ươ ng trinh ̀ đôc lâp th c hiên tron ven môt công viêc ̣ ̣ ự ̣ ̣ ̣ ̣ ̣ nhât đinh, sau đo tra vê gia tri cho ch ́ ̣ ́ ̉ ̀ ́ ̣ ươ ng trinh goi no ̀ ̣ ́
Hay noi cach khac ham la s chia ́ ́ ́ ̀ ̀ ự nho cua ch ̉ ̉ ươ ng trinh ̀
Khái ni m ệ
Trang 5Ví d : ụ #include <stdio.h> #include <conio.h>
// - Prototype
-void HoanDoi (int& a, int& b);
// -void main()
{
int a,b;
clrscr();
printf("Nhap vao 2 so nguyen A,B: ");
scanf("%d %d",&a,&b);
printf("Truoc khi hoan doi: A=%d va B=%d\n",a,b);
HoanDoi(a,b);
printf("Sau khi hoan doi: A=%d va B=%d\n",a,b); getch();
}
// -void HoanDoi (int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
Trang 6Gv.Khương Đ i Th ạ ể 61
Two-dimensional array
void HoanDoi (int & a, int & b)
{
int temp = a;
a = b;
b = temp;
}
void SapTang (int a[][MAX], int r, int c)
{
for (int i = 0; i < r*c-1 ; i++)
for (int j = i+1; j < r*c; j++)
if (a[i/c][i%c] > a [j/c][j%c])
HoanDoi (a[i/c][i%c], a[j/c][j%c]);
}
Viêt ham săp xêp ma tr n có giá tr tăng dân t trái sang ph i và t ́ ̀ ́ ́ ậ ị ̀ ừ ả ừ
trên xu ng d ố ướ i.
S p x p ma ắ ế
tr n ậ
G i ý: ợ
T t ư ưở ng s p x p gi ng nh trên m ng 1 chi u ắ ế ố ư ả ề
Trang 7XIN CÁM N Ơ