Cº¯ÊýÖ¸Õë×ܽá
±¾ÎĽöÏÞÓÚC£¬Ö÷Òª×Ô¼ºÀÏÍü¡£±ðµÄ·Ï»°ÉÙ˵¡£
1.Basic
Ê×ÏÈ¿¼ÂǺ¯ÊýÔÚº¯ÊýÌåÄڵ͍Ò壬ÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int main()
{
int add(int,int);
int def(int, int);
printf("%d\n", add(1,3));
printf("%d\n", def(3,1));
return 0;
}
int add(int a, int b) { return a+b; }
int def(int a, int b) { return a-b; }
¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룺
ReturnValue (*fun_ptr)();
ÉÏÃæµÄ´úÂëÓú¯ÊýÖ¸ÕëµôÓÃÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int main()
{
int add(int,int);
int def(int, int);
int (*p)();
p = add;
printf("%d\n", p(1,3));
p = def;
printf("%d\n", p(3,1));
return 0;
}
int add(int a, int b) { return a+b; }
int def(int a, int b) { return a-b; }
µ½´ËÎªÖ¹Ã²ËÆÃ»ÓÐʲôÓ㬲»¹ý¿ÉÒÔ¿¼ÂÇÒ»¸ö¸ü¼Ó¾ßÓÐÃÀ¸ÐµÄд·¨£¬ÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
typedef struct FuncPtrEle
{
int (*fun_ptr)();
int type_code;
} ptr_t;
int add(int,int);
int def(int, int);
int main()
{
int i = 0;
ptr_t ptr_array[2];
ptr_array[0].fun_ptr = add; //ÕâÁ½Ö¸Õ븳ֵµÄ¹ý³Ì¿ÉÒÔÈÎÒâ·¢»ÓÏëÏóÁ¦¡£
ptr_array[1].fun_ptr = def; //ÖÁÓÚ×÷Óã¬ÏëÏëÃæÏò¶ÔÏóÖеĶà̬°É....
for(i = 0; i < 2; i++)
{
printf("%d\n", ptr_array[i].fun_ptr(3,1));
}
return 0;
}
int add(int a, int b) { ret
Ïà¹ØÎĵµ£º
clock()·µ»Øclock_tÀàÐÍ£»
ÔÚtime.hÍ·ÎļþÖУ¬¶¨ÒåÁË typedef long clock_t
clock()ÊÇÓÃÀ´¼ÆËãÁ½¸öʱ¼äµãÖ®¼äµÄʱ¼ä¼ä¸ô¡£ÈçϳÌÐò£º
#include <stdio.h>
int main()
{
int i = 0;
clock_t start_time, end_time;
start_time = clock(); //¿ªÊ¼¼ÆÊ±, start_time = 0
while( ......
2008-06-05 12:38------------------------------------------------------------------------------------------------
º¯ÊýÖ¸Õëͨ³£ÓÃÀ´ÊµÏֻص÷£¬Æä»ù±¾Ó÷¨ÈçÏ£º
1¡¢¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
// ¶¨ÒåÒ»¸öÔÐÍΪint Fun( int a );µÄº¯ÊýÖ¸Õë
typedef int (*PTRFUN) ( int aPara );
2¡¢º¯ÊýÖ¸Õë±äÁ¿µ ......
Ò»¸öÓÉC/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
£¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å
£¬
Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅä·½ ......
ÒÔ i2c-mpc.c Çý¶¯Ä£¿éΪÀý
fsl_i2c_init -> of_register_platform_driver -> of_register_driver -> driver_register -> bus_add_driver -> driver_attach
-> bus_for_each_dev -> __driver_attach -> driver_probe_device -> really_probe -> drv->probe(dev); ......