Page 22 - ipst-cmanual
P. 22
l¤ÁÙ Í× ¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ãª§ Ò¹¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX
1.8.1.2 ÍÐàà2 ÁµÔ Ô
û٠áẺ¡ÒûÃСÒÈ㪵 ÇÑ á»ÃÍÐàà2 ÁµÔ ·Ô Òí ä´´ §Ñ ¹éÕ
type name[x][y];
â´Â·èÕ type ¤Í× ª¹´Ô ¢Í§¢Í ÁÅÙ µÇÑ á»ÃÍÐàÃÂ
name ¤Í× ªÍè× ¢Í§µÇÑ á»ÃÍÐàÃÂ
x ¤Í× ¤Ò ¢Í§µÇÑ àÅ¢¡Òí ˹´¢¹Ò´á¶Ç¢Í§ÍÐàÃÂ
y ¤Í× ¤Ò ¢Í§µÇÑ àÅ¢¡Òí ˹´¢¹Ò´ËÅ¡Ñ ¢Í§ÍÐàÃÂ
હ
int a[2][5];
໹ ¡ÒûÃСÒÈãË a ໹ µÇÑ á»ÃÍÐàà2 ÁµÔ Ô ª¹´Ô ¢Í ÁÅ٠Ẻ int Á¨Õ Òí ¹Ç¹ÊÁÒª¡Ô 10 µÇÑ ä´á ¡
a[0][0], a[0][1], a[0][2], a[0][3], a[0][4] ,
a[1][0], a[1][1], a[1][2], a[1][3], a[1][4]
¡ÒáÒí ˹´¤Ò ¢Í ÁÅÙ àÃÁÔè µ¹ ¡Êç ÒÁÒö·Òí ä´ àª¹
int menu[3][4] ={{1,3,4,9} , {2,8,0,5}};
໹ ¡ÒûÃСÒÈãË menu ໹ µÇÑ á»ÃÍÐàà2 ÁµÔ Ô ª¹´Ô ¢Í ÁÅ٠Ẻ int Á¨Õ Òí ¹Ç¹ÊÁÒª¡Ô ·§Ñé ËÁ´
12 µÇÑ áÅСÒí ˹´¤Ò ¢Í ÁÅÙ àÃÁÔè µ¹ ´§Ñ ¹¹éÑ
menu[0][0] = 1 menu[0][1] = 3 menu[0][2] = 4 menu[0][3] = 9
menu[1][0] = 2 menu[1][1] = 8 menu[1][2] = 0 menu[1][3] = 5
menu[2][0] = 0 menu[2][1] = 0 menu[2][2] = 0 menu[2][3] = 0
1.8.2 µÇÑ á»Ã¾ÍÂàµÍà (Pointer)
µÇÑ á»Ã¾ÍÂàµÍà ¤Í× µÇÑ á»Ã··èÕ Òí Ë¹Ò ·àèÕ ¡ºç ¤Ò áÍ´à´ÃʢͧµÇÑ á»Ã··èÕ Òí ¡ÒêÕé ËÃÍ× áÍ´à´ÃÊ
µÒí á˹§ ã´æ ÁÃÕ »Ù Ẻ¡ÒûÃСÒÈ㪧 Ò¹´§Ñ ¹Õé
હ type * name;
Ẻ float â´Â·èÕ type ¤Í× ª¹´Ô ¢Í ÁÅÙ ¢Í§µÇÑ á»Ã¾ÍÂ¹à µÍÃ
name ¤Í× ªÍ×è µÇÑ á»Ã¾ÍÂ¹à µÍ÷ ãèÕ ª» ÃСÒÈ
char *ptr; ໹ ¡ÒûÃСÒÈãË ptr ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢Õé Í ÁÅ٠Ẻ char
int *a; ໹ ¡ÒûÃСÒÈãË a ໹ µÇÑ á»Ã Pointers ·ãÕè ªª ¢éÕ Í ÁÅ٠Ẻ int
float *storage_num; »ÃСÒÈãË storage_num ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢éÕ Í ÁÅÙ
long *number; ໹ ¡ÒûÃСÒÈãË number ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢éÕ Í ÁÅ٠Ẻ long
1.8.1.2 ÍÐàà2 ÁµÔ Ô
û٠áẺ¡ÒûÃСÒÈ㪵 ÇÑ á»ÃÍÐàà2 ÁµÔ ·Ô Òí ä´´ §Ñ ¹éÕ
type name[x][y];
â´Â·èÕ type ¤Í× ª¹´Ô ¢Í§¢Í ÁÅÙ µÇÑ á»ÃÍÐàÃÂ
name ¤Í× ªÍè× ¢Í§µÇÑ á»ÃÍÐàÃÂ
x ¤Í× ¤Ò ¢Í§µÇÑ àÅ¢¡Òí ˹´¢¹Ò´á¶Ç¢Í§ÍÐàÃÂ
y ¤Í× ¤Ò ¢Í§µÇÑ àÅ¢¡Òí ˹´¢¹Ò´ËÅ¡Ñ ¢Í§ÍÐàÃÂ
હ
int a[2][5];
໹ ¡ÒûÃСÒÈãË a ໹ µÇÑ á»ÃÍÐàà2 ÁµÔ Ô ª¹´Ô ¢Í ÁÅ٠Ẻ int Á¨Õ Òí ¹Ç¹ÊÁÒª¡Ô 10 µÇÑ ä´á ¡
a[0][0], a[0][1], a[0][2], a[0][3], a[0][4] ,
a[1][0], a[1][1], a[1][2], a[1][3], a[1][4]
¡ÒáÒí ˹´¤Ò ¢Í ÁÅÙ àÃÁÔè µ¹ ¡Êç ÒÁÒö·Òí ä´ àª¹
int menu[3][4] ={{1,3,4,9} , {2,8,0,5}};
໹ ¡ÒûÃСÒÈãË menu ໹ µÇÑ á»ÃÍÐàà2 ÁµÔ Ô ª¹´Ô ¢Í ÁÅ٠Ẻ int Á¨Õ Òí ¹Ç¹ÊÁÒª¡Ô ·§Ñé ËÁ´
12 µÇÑ áÅСÒí ˹´¤Ò ¢Í ÁÅÙ àÃÁÔè µ¹ ´§Ñ ¹¹éÑ
menu[0][0] = 1 menu[0][1] = 3 menu[0][2] = 4 menu[0][3] = 9
menu[1][0] = 2 menu[1][1] = 8 menu[1][2] = 0 menu[1][3] = 5
menu[2][0] = 0 menu[2][1] = 0 menu[2][2] = 0 menu[2][3] = 0
1.8.2 µÇÑ á»Ã¾ÍÂàµÍà (Pointer)
µÇÑ á»Ã¾ÍÂàµÍà ¤Í× µÇÑ á»Ã··èÕ Òí Ë¹Ò ·àèÕ ¡ºç ¤Ò áÍ´à´ÃʢͧµÇÑ á»Ã··èÕ Òí ¡ÒêÕé ËÃÍ× áÍ´à´ÃÊ
µÒí á˹§ ã´æ ÁÃÕ »Ù Ẻ¡ÒûÃСÒÈ㪧 Ò¹´§Ñ ¹Õé
હ type * name;
Ẻ float â´Â·èÕ type ¤Í× ª¹´Ô ¢Í ÁÅÙ ¢Í§µÇÑ á»Ã¾ÍÂ¹à µÍÃ
name ¤Í× ªÍ×è µÇÑ á»Ã¾ÍÂ¹à µÍ÷ ãèÕ ª» ÃСÒÈ
char *ptr; ໹ ¡ÒûÃСÒÈãË ptr ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢Õé Í ÁÅ٠Ẻ char
int *a; ໹ ¡ÒûÃСÒÈãË a ໹ µÇÑ á»Ã Pointers ·ãÕè ªª ¢éÕ Í ÁÅ٠Ẻ int
float *storage_num; »ÃСÒÈãË storage_num ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢éÕ Í ÁÅÙ
long *number; ໹ ¡ÒûÃСÒÈãË number ໹ µÇÑ á»Ã Pointers ·ãèÕ ªª ¢éÕ Í ÁÅ٠Ẻ long