Phép so sánh: là phép so sánh địa chỉ mà con trỏ lưu giữ

Một phần của tài liệu Bài giảng Cơ sở lập trình - Trường ĐH Thương mại (Trang 62 - 65)

X ,x Kiểu số nguyên viết dưới dạng số hexa (cơ số 16) oKiểu số nguyên viết dưới dạng số octal ( cơ số 8)

Phép so sánh: là phép so sánh địa chỉ mà con trỏ lưu giữ

lưu giữ

 Phép cộng con trỏ với số nguyên

▪ Ptr là con trỏ kiểu T, k là số nguyên thì (Ptr+k) là con trỏ kiểu T. Ptr trỏ tới phần tử t thì (Ptr+k) trỏ tới phần tử cách t một khoảng là k ( k<0 về miền địa chỉ lớn hơn và k<0 về miền địa chỉ nhỏ hơn)

 Phép trừ

▪ p, q là hai con trỏ kiểu T thì p-q là số nguyên chỉ số phần

tử kiểu T nằm giữa hai phần tử do p và q trỏ tới.

7/2020 Cơ sở lập trình 123

Giống nhau: Tên của một mảng/con trỏ tương đương với

địa chỉ phần tử đầu tiên

Khác nhau: địa chỉ của mảng cố định (con trỏ hằng) còn vùng nhớ con trỏ trỏ tới có thể thay đổi (con trỏ thường).

Ví dụ

int numbers [20], *p; p = numbers; //hợp lệ

Mối liên hệ

▪ Các phần tử của mảng có thể được truy xuất thông qua chỉ số hoặc con trỏ. (a+i) &a[i], *(a+i) a[i]

Ví dụ: a[5] = 0; hoặc *(a+5) = 0;

Với mảng 2chiều

a là con trỏ trỏ tới a[0] và a[0] trỏ tới a[0][0]

a[0] &a[0][0] và * a[0] a[0][0] hay **a a[0][0] (a+i ) &a[i] và a[i]&a[i][0]

*a[i] a[i][0] hay *(*a+i) a[i][0] a[i]+j &a[i][j]

*( a[i]+j) a[i][j] hay *(*a +i+j) a[i][j]

7/2020 Cơ sở lập trình 125

3.3.1 Khái niệm

Kháiniệm

▪ Xâu làmột mảngcác kítự kể cả khoảng trắng.

▪ Một hằngxâu cónộidungđược đặttrongcặp dấu “ ”và

kếtthúc xâu là kítự ‘\0’hay còngọilà kítựNULL  Lưu ý

▪ Kítự ‘a’khác vớixâu“a”.

7/2020 Cơ sở lập trình 127

Khai báo xâu

▪ Dùngmảngkítự: char a[size]; ▪ Dùng contrỏkítự: char *str;  Khởi tạoxâu

▪ Dùngmảng hoặccontrỏ  dụ

▪ char a[15] =“hello world”;

 hoặc

▪ char *str = (char*) malloc (15*sizeof (char));

Một phần của tài liệu Bài giảng Cơ sở lập trình - Trường ĐH Thương mại (Trang 62 - 65)

Tải bản đầy đủ (PDF)

(108 trang)