Danh mục

LẬP TRÌNH C nâng cao - bài 2 - nhắc lại về c-c++ part2

Số trang: 6      Loại file: pdf      Dung lượng: 134.72 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 3,000 VND Tải xuống file đầy đủ (6 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

BÀI 2: NHẮC LẠI VỀ C/C++ (TIẾP THEO) BÀI 1: NHẮC LẠI VỀ C/C++ Nhập xuất cơ bảnbài này sẽ nhắc lại cho các hàm cơ bản như : khai báo hàm , biến ... và sự khai báo giữa c và c++... Cấu trúc (struct) Con trỏ cấu trúc (struct pointer)
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH C nâng cao - bài 2 - nhắc lại về c-c++ part2 LẬP TRÌNH C/C++ NÂNG CAOYêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 2: NHẮC LẠI VỀ C/C++ (TIẾP THEO)Cấu trúc (struct)Con trỏ cấu trúc (struct pointer)CODEstruct Student{int id;};Student *s;Student m;s=&m;s->id=3; //means (*s).idcouttemp;a.name=new char[strlen(temp)+1];strcpy(a.name,temp); //phải dùng biến tạmStudent b=a;strcpy(b.name,a.name); //phải dùng strcpy, nếu không sẽ sao chép địa chỉ bộ nhớGọi hàm với cấu trúcCODEstruct Student{char name[10];int id;};Student m[3],a;m[0]=(Student){Pete,1};add(m[0].name,&m[0].id);Có 4 cách để thêm dữ liệu vào cấu trúc.Cách 1CODEvoid add(char name[],int *place){cin>>name;cin.get();cin>>*place;}add(a.name,&a.id);Cách 2CODEvoid add(Student &s){cin>>s.name;cin.get();cin>>s.id;}add10(a);Cách 3CODEvoid add(Student *s){cin>>(*s).name;cin.get();cin>>(*s).id;}add(&a);Cách 4CODEvoid add(Student *s){cin>>s->name;cin.get();cin>>s->id;}add(&a);Toán tử sizeof với structCODEstruct Hello{char c;double d;};sizeof(Mystruct)=12; vì c lấy một 32-bit word (4 byte, không phải1 byte)Con trỏ (pointer)Con trỏ trỏ đến một con trỏ khácCODEchar a=z; //a=z và giả sử địa chỉ của a=8277char *p=&a; //p=8277 và giả sử địa chỉ của p=6194char **p2=&p; //p2=6194 và địa chỉ của p2 sẽ là một cái gì đóCon trỏ void (void pointer)Con trỏ void dùng để trỏ đến bất cứ một kiểu dữ liệu nàoCODEvoid increase(void* data,int dataType){switch(dataType){case sizeof(char):(*((char*)data))++;break;case sizeof(int):(*((int*)data))++;break;}}int main(){char c=66;int a=-4;increase(&c,sizeof(char));increase(&a,sizeof(int));}Con trỏ hàm (function pointer)Con trỏ hàm dùng để trỏ đến một hàmCODEint addition(int a,int b){return a+b;}int subtraction(int a,int b){return a-b;}int (*minuse)(int,int) = subtraction;int primi(int a,int b,int(*functocall)(int,int)){return (*functocall)(a,b);}int main(){int m=primi(7,5,&addition);int n=primi(20,m,minuse);coutoutf

Tài liệu được xem nhiều: