CHƯƠNG 8 : TRUYỀN SỐ LIỆU CHO HÀM
1/ Truyền đối số cho hàm main( ) :
- Ví dụ : ta muốn viết một chương trình có tên là Hello.că
hello.exe khi chạy trên MS-DOS ta nhập các đối số vào chương trình.
Ví dụ : c:> Tom and Jerry ( enter) máy sẽ in ra câu :
Chào Tom and Jerry.
- Viết chương trình trên như sau :
Void main ( int argc, char*argv[ ])
{
......
}
Trong đó :
+ argc : cho biết tổng số đối số truyền vào tính cả tên chương
trình đối với ví dụ trên argc = 4. Mỗi đối số truyền vào được
xem như là xâu ký tự.
+ mãng argv [ ] sẽ là con trỏ , trỏ lần lượt đến các đối số.
argv[0] -->"Hello"
argv[1] --> "Tom"
argv[2] --> "and"
argv[3] --> "Jerry"
void main ( int argc, char *argv[ ])
{ int i ;
printf("Chào !");
for ( i=1 ; i < argc ; i++)
printf("%s", argv[ i]);
}
2/ Truyền cấu trúc cho hàm - Hàm trên các cấu trúc :
- Chương trình gọi nhập học viên(HV).
- Chương trình bị gọi void nhap ( struct Kiểu HV HV[ ])
Hoặc void nhập (Kiểu HV HV[ ])
- Ví dụ : nhập danh sách lớp :
#include<stdio.h>
#include<conio.h>
#include<string.h> #define N 100
typedef struct
{ char ten[20] ; int tuoi ; float diem ; } kieu HV
/* khai báo hàm nhập dữ liệu*/
void nhap ( int n , Kieu HV HV [ ] )
{int i ; float t;
for ( i = 0; i< n ; i++)
{ printf ( " Nhập hv thử %d ", i++); scanf(....) }
/* chương trình chính */
main ( )