¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤¬¥×¥í¥°¥é¥ß¥ó¥°(C¸À¸ì,Java¤Ê¤É)¡¢¥Í¥Ã¥È¥ï¡¼¥¯¡¢»ñ³Ê»î¸³(¾ðÊó½èÍýµ»½Ñ¼Ô»î¸³,CCNA)¤Ê¤É¤Ë´Ø¤¹¤ëµ»ö¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
C¸À¸ì¤Ç¤Ï¤É¤Î¤è¤¦¤Ë¥¹¥¿¥Ã¥¯Îΰ褬»È¤ï¤ì¤Æ¤¤¤ë¤«¡¢ÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤ò½ÐÎϤ·¤Æ¤½¤ì¤òľ´¶Åª¤ËÍý²ò¤Ç¤¤ë¤è¤¦¤Ë¿Þ¼¨¤·¤Æ¹Í»¡¤·¤Þ¤·¤¿¡£¼Â¸³¤Ë¤Ï¼¡¤Î¥×¥í¥°¥é¥à¤òÍѤ¤¤Þ¤·¤¿¡£
#include
void func(int f_arg1, int f_arg2) {
int f_var1, f_var2;
printf("&f_arg1 = %p, &f_arg2 = %p\n", &f_arg1, &f_arg2);
printf("&f_var1 = %p, &f_var2 = %p\n", &f_var1, &f_var2);
}
int main() {
int m_var1, m_var2;
printf("&m_var1 = %p, &m_var2 = %p\n", &m_var1, &m_var2);
printf("&func = %p\n", &func);
func(1, 2);
return 0;
}
»ä¤Î´Ä¶(Cygwin)¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
$ ./a
&m_var1 = 0x22cce4, &m_var2 = 0x22cce0
&func = 0x401050
&f_arg1 = 0x22ccc0, &f_arg2 = 0x22ccc4
&f_var1 = 0x22ccb4, &f_var2 = 0x22ccb0
¤½¤·¤Æ¡¢¤³¤ì¤ò¿Þ¤ËÀ°Íý¤·¤Þ¤·¤¿¡£

¼«Æ°ÊÑ¿ô¤ä´Ø¿ô¤Ï¥á¥â¥ê¤Î¥¹¥¿¥Ã¥¯Îΰè¤Ë¤Î¤ë¤¿¤á¡¢Àë¸À½ç¤Ë²¼¤«¤éʤó¤Ç¤¤¤Þ¤¹¡£¤·¤«¤·¡¢¤è¤¯¸«¤ë¤È¡Ö¤ª¤ä¡©¡×¤È»×¤¦¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©´Ø¿ôfunc¤ÎÂè°ì°ú¿ôf_arg1¤ÈÂèÆó°ú¿ôf_arg2¤¬µÕ½ç¤ËÀÑ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤Í¡£
¤³¤ì¤Ï²¿¤«¤Î´Ö°ã¤¤¤ä¶öÁ³¤Ç¤Ï¤Ê¤¯¡¢C¸À¸ì¤Ç¤Ï°ú¿ô¤¬¸å¤í¤«¤é½ç¤Ë¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤¿¤á¤Ç¡¢printf()¤Î¤è¤¦¤Ê²ÄÊÑŰú¿ô¤ò»ý¤Ä´Ø¿ô¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¤³¤Î¤è¤¦¤Ê»ÅÍͤˤʤäƤ¤¤ë¤è¤¦¤Ç¤¹¡£
¤³¤Îµ»ö¤òÆÉ¤ó¤Ç²¿¤Î¤³¤È¤«¤µ¤Ã¤Ñ¤ê¤À¤Ã¤¿Êý¤Ë¤Ï¤³¤Á¤é¤Î½ñÀÒ¤¬¤ª¤¹¤¹¤á¤Ç¤¹¡£¤¿¤¤¤Ø¤ó¤ä¤µ¤·¤¯¡¢¤½¤·¤Æ¤ï¤«¤ê¤ä¤¹¤¯½ñ¤«¤ì¤¿C¸À¸ì¤ÎÆþÌç½ñ¤Ç¤¹¡£
¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯:
![]()
Author:TBVector
»ä¤Î¥µ¥¤¥È
¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÈRSS
ͧã¤Î¥µ¥¤¥È
¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤
¤Ï¤Æ¤Ê¥ê¥ó¥°