1. Trang chủ
  2. » Công Nghệ Thông Tin

Giới thiệu con trỏ và chuỗi ký tự docx

16 385 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 2,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 2

Thông tin c a m t bi n bao g m:ủ ộ ế ồ

*Tên bi nế

*Ki u d li u c a bi nể ữ ệ ủ ế

*Giá tr c a bi nị ủ ế

M i bi n s đỗ ế ẽ ược l u tr t i m t v trí xác ư ữ ạ ộ ị

đ nh trong ô nh , n u kích thị ớ ế ước c a bi n có ủ ế nhi u byte thì máy tính s c p phát m t dãy ề ẽ ấ ộ các byte liên ti p nhau, đ a ch c a bi n s ế ị ỉ ủ ế ẽ

l u byte đ u tiên ư ầ trong dãy các byte này

Trang 3

* Ví d khai báo: ụ

float x;

int a;

Byte 1 Byte 2 Byte 3 Byte 4

Đ a ch bi n x ị ỉ ế

Các ô

nh ớ

c a ủ

bi n x ế

Byte 100 Byte 101 Byte 102 Byte 103

Đ a ch bi n a ị ỉ ế

Các ô

nh ớ

c a ủ

bi n a ế

Trang 4

* Đ a ch c a bi n luôn luôn là m t s nguyên (h th p l c ị ỉ ủ ế ộ ố ệ ậ ụ

phân) dù bi n đó ch a giá tr là s nguyên, s th c hay ký t , ế ứ ị ố ố ự ự

* Cách l y đ a ch c a bi n ấ ị ỉ ủ ế

& tênbi n ế

* Ví d : ụ

void main()

{

int x=7;

float y=10.5;

cout<<"Dia chi cua bien x = "<<&x<<endl;

cout<<"Dia chi cua bien y = "<<&y;

}

K t qu ế ả

Dia chi cua bien x = 0014FC00 Dia chi cua bien y = 0014FBF4

Trang 5

*Con tr là m t bi n đ ch a đ a ch , có nhi u lo i ỏ ộ ế ể ứ ị ỉ ề ạ con tr tùy thu c vào đ a ch c a m i lo i ki u ỏ ộ ị ỉ ủ ỗ ạ ể

bi n ế

*Cách khai báo con trỏ

*Ví d : ụ

int *px, y;

float *pm, n;

*Cách l y giá tr c a con tr ấ ị ủ ỏ

Ki u d li u * TênConTr ể ữ ệ ỏ

* TênConTrỏ

Trang 6

void main()

{

int *px, y;

float *pa, b;

y=10;

b=14.5;

px= & y;

pa= & b;

cout<<"Gia tri cua px = "<< *px <<endl;

cout<<"Gia tri cua pa = "<< *pa ;

}

K t qu ế ả

Gia tri cua px = 10

Gia tri cua pa = 14.5

L y đ a ch c a bi n ấ ị ỉ ủ ế

y gán vào px

L y giá tr c a con ấ ị ủ

tr px ỏ

Trang 7

*Chu i ký t là m t dãy các ph n t , m i ph n t ỗ ự ộ ầ ư ỗ ầ ư

có ki u ký t ể ự

*Khai báo:

*Cách 1: Con tr h ng ỏ ă

char Tênchu i[< S ky t t i đa c a chu i>] ; ô ô ư ô ủ ô

Vi du: char chuoi[25];

*Ý nghĩa khai báo 1 m ng ki u ky t tên là chuoi ả ê ư có 25

ph n t (nh v y t i đa ta có th nh p 24 ký t vì ầ ư ư ậ ố ể ậ ự ph n â

t th 25 đa ch a ky t k t thúc chu i ‘\0’ ư ư ư ư ế ô )

*L u y ư : Chu i ky t đ ô ư ươ c k t thuc b ng ky t ‘\0’ Do đo ê ă ư khi khai bao đ dai c a chu i luôn luôn ô u ô khai bao d 1 ư

ph n t đ ch a ky t ‘\0’ â ư ê ư ư .

Trang 8

*Cách 2: Con trỏ

char *< Tên chu i >;ỗ

Ví d :ụ char *chuoi;

Trước khi s d ng ph i dùng t khóa new ư ụ ả ừ

đ c p phát vùng nhể ấ ớ

Ví d :ụ

char *str;

str = new char[51];//C p phát 51 ký tấ ự

Trang 9

* cin.getline(chuoi, s ký t t i đa); ố ự ố

* Ví d : ụ

char *str;

str = new char [30];

cin.getline(str, 30);

Trang 10

Vi t ch ế ươ ng trình nh p và xu t chu i ký t ậ ấ ỗ ự

#define MAX 255

void main()

{

char str1[MAX];

char *str2;

cout<<"Nhap chuoi str1: ";

cin.getline(str1, MAX);

str2 = new char[MAX];

cout<<"Nhap chuoi str2: ";

cin.getline(str2, MAX);

cout<<"Chuoi str1: "<<str1<<endl; cout<<"Chuoi str2: "<<str2<<endl;

Trang 11

*Tính đ dài c a chu i sộ ủ ỗ

int strlen(char *s);

void main()

{

char *s = "Lap trinh C";

cout<<"Do dai s = "<<strlen(s); }

K t qu ế ả

Trang 12

*Sao chep n i dung chu i ngu n vào chu i ộ ỗ ồ ỗ đích, n i dung c a chu i đích s b xóaộ ủ ỗ ẽ ị

*Chep n ký t t chu i ngu n sang chu i ự ừ ỗ ồ ỗ đích N u chi u dài ngu n < n thì hàm s ế ề ồ ẽ

đi n kho ng tr ng cho đ n ký t vào đíchề ả ă ủ ự

strcpy(char *đích, char *ngu n); ồ

strncpy(char *đích, char *ngu n, int n); ồ

Trang 13

*N i chu i s2 vào chu i s1 ố ỗ ỗ

strcat(char s1[],char s2[]);

*N i n ký t đ u tiên c a chu i s2 vào chu i s1 ố ự ầ ủ ỗ ỗ

strncat(char s1[],char s2[],int n);

*So sánh 2 chu i s1 và s2 theo nguyên t c ỗ ă th t t ứ ự ừ

đi nể Phân bi t ch hoa va th ê ư ươ ng. Tr v : ả ề

0 : n u s1 b ng s2 ế ă

>0: n u s1 l n h n s2 ế ớ ơ

<0: n u s1 nh h n s2 ế ỏ ơ

int strcmp(char s1[],char s2[]);

Trang 14

*So sánh n ký t đ u tiên c a s1 và s2, giá ự ầ ủ

tr tr v tị ả ề ương t hàm strcmp()ự

int strncmp(char s1[],char s2[], int n);

*So sánh chu i s1 và s2 nh ng không phân ỗ ư

bi t hoa thệ ường, giá tr tr v tị ả ề ương t ự hàm strcmp()

int stricmp(char s1[],char s2[]);

*So sánh n ký t đ u tiên c a s1 và s2 ự ầ ủ

nh ng không phân bi t hoa thư ệ ường, giá tr ị

tr v tả ề ương t hàm strcmp()ự

int strnicmp(char s1[],char s2[], int n);

Trang 15

*Tìm s xu t hi n đ u tiên c a ký t c ự ấ ệ ầ ủ ư

trong chu i s Tr v :ỗ ả ề

NULL: n u không có ế

Đ a ch c: n u tìm th y ị ỉ ế ấ

char *strchr(char s[], char c);

*Tìm s xu t hi n đ u tiên c a chu i s2 ự ấ ệ ầ ủ ỗ trong chu i s1 Tr v :ỗ ả ề

NULL: n u không có ế

Ng ượ ạ c l i: Đ a ch b t đ u chu i s2 trong s1 ị ỉ ă ầ ỗ

char *strstr(char s1[], char s2[]);

Trang 16

*Nh p vào m t chu i ký t , xu t ra màn hình ậ ộ ỗ ự ấ chu i b đ o ng ỗ ị ả ượ c th t các ký t ứ ự ự

*Vi t ch ế ươ ng trình đ m có bao nhiêu kho ng ế ả

tr ng trong chu i ă ỗ

*Vi t ch ế ươ ng trình nh p vào hai chu i s1 và s2, ậ ỗ

n i chu i s2 vào s1 Xu t chu i s1 ra màn hình ố ỗ ấ ỗ

* Đ i t t c các ký t có trong chu i thành ch ô ấ ả ự ỗ ữ

th ườ ng (không dùng hàm strlwr).

*Đ i t t c các ký t trong chu i sang ch in hoa ô ấ ả ự ỗ ữ (không dùng hàm struppr).

Ngày đăng: 26/06/2014, 23:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w