¹ØÓÚCÖеĻص÷º¯ÊýµÄÓ¦ÓÃ
ÔÚʹÓûص÷º¯ÊýÖУ¬ÍùÍù»áÉèÖÃÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬ÄÇΪʲô²»Ö±½Ó½«º¯ÊýÃû×÷Ϊ²ÎÊý´«µÝÄØ£¿
ÔÒòÊÇ£ºÔÚCÓïÑÔÖк¯Êý±¾Éí²»ÊDZäÁ¿£¬µ«ÊÇ¿ÉÒÔ¶¨ÒåÖ¸Ïòº¯ÊýµÄÖ¸Õë¡£ÕâÖÖÀàÐ͵ÄÖ¸Õë¿ÉÒÔ±»¸³Öµ¡¢´æ·ÅÔÚÊý×éÖС¢´«µÝ¸øº¯ÊýÒÔ¼°×÷Ϊº¯ÊýµÄ·µ»ØÖµ£¬
ÏÂÃæÊÇÎÒÔÚÍøÉÏÕÒµ½µÄÒ»¸ö¹ØÓڻص÷º¯ÊýµÄСÀý×Ó£¨¶ÔÔÎĵÄÀý×ÓÓÐËùÐ޸ģ©
ÔÎÄÁ´½Ó£ºhttp://hi.baidu.com/helloweenpad/blog/item/d96d13fb4b2276809f514607.html/cmtid/feb4928edf8883e5f11f3636
#include<stdio.h>
typedef int (*CallBackFun)(char *p);
/*¸ÃÓï¾ä¶¨ÒåÁËÀàÐÍCallBackFunÊÇ“Ò»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯Êý¾ßÓÐ1¸öchar *ÀàÐ͵IJÎÊý£¬·µ»ØÖµµÄÀàÐÍΪint.”*/
int Afun(char *p) { // ·½·¨ Afun£¬¸ñʽ·ûºÏ CallBackFun µÄ¸ñʽ£¬Òò´Ë¿ÉÒÔ¿´×÷ÊÇÒ»¸ö CallBackFun
printf("Afun »Øµ÷´òÓ¡³ö×Ö·û%s!\n", p);
return 0;
}
int Cfun(char *p) { // ·½·¨ Bfun£¬¸ñʽ·ûºÏ CallBackFun µÄ¸ñʽ£¬Òò´Ë¿ÉÒÔ¿´×÷ÊÇÒ»¸ö CallBackFun
printf("Cfun »Øµ÷´òÓ¡:%s, Nice to meet you!\n", p);
return 0;
}
int call(CallBackFun pCallBack, char *p) { // Ö´Ðлص÷º¯Êý£¬·½Ê½Ò»£ºÍ¨¹ýÃüÃû·½Ê½
printf("call Ö±½Ó´òÓ¡³ö×Ö·û%s!\n", p);
pCallBack(p);
return 0;
}
int call2(char *p, int (*ptr)(char *p)) { // Ö´Ðлص÷º¯Êý£¬·½Ê½¶þ£ºÖ±½Óͨ¹ý·½·¨Ö¸Õë
printf("==============\n", p);
(*ptr)(p);
}
int call3(char *p, CallBackFun pCallBack){ // Ö´Ðлص÷º¯Êý£¬·½Ê½Ò»£ºÍ¨¹ýÃüÃû·½Ê½
printf("--------------\n", p);
pCallBack(p);
}
int main() {
char *p = "hello";
call(Afun, p);
call(Cfun, p);
call2(p, Afun);
call2(p, Cfun);
call3(p, Afun);
call3(p, Cfun);
return 0;
}
ÔÚÔÎÄÖУ¬×÷Õß½«int call2(char *p, int (*ptr)(char *p))»»³ÉÁËi
Ïà¹ØÎĵµ£º
GCC ±àÒëc³ÌÐòµÄ·½·¨¼°¹ý³Ì½âÎö
Justin.zp.Yang 2010.04.10
Ä¿Ç° Linux ÏÂ×î³£ÓÃµÄ C ÓïÑÔ±àÒëÆ÷ÊÇ GCC £¨ GNU Compiler Collection £©£¬ËüÊÇ GNU ÏîÄ¿ÖзûºÏ ANSI C ±ê×¼µÄ±àÒëϵͳ£¬Äܹ»±àÒëÓà C ¡¢ C++ ºÍ Object C µÈÓïÑÔ±àдµÄ³ÌÐò¡£ GCC ²»½ö¹¦Äܷdz£Ç¿´ó£¬½á¹¹ ......
×¢ÒâÖ»Äܵ½2049Ä꣡
#define uchar unsigned char
#define uint unsigned int
#include <intrins.h>
/*
¹«ÀúÄê¶ÔÓ¦µÄÅ©ÀúÊý¾Ý,ÿÄêÈý×Ö½Ú,
¸ñʽµÚÒ»×Ö½ÚBIT7-4 λ±íʾÈòÔÂÔ·Ý,ֵΪ0 ΪÎÞÈòÔÂ,BIT3-0 ¶ÔӦũÀúµÚ1-4 ÔµĴóС
µÚ¶þ×Ö½ÚBIT7-0 ¶ÔӦũÀúµÚ5-12 Ô´óС,µÚÈý×Ö½ÚBIT7 ±íʾũÀúµÚ13 ¸öÔ´óÐ ......
//À´Ô´²»Ïê
1. ¾ø¶Ôºê£º
ÔÚ³ÌÐòÖУ¬ÓÓ££include<absacc.h>”¼´¿ÉʹÓÃÆäÖж¨ÒåµÄºêÀ´·ÃÎʾø¶ÔµØÖ·£¬°üÀ¨CBYTE¡¢XBYTE¡¢PWORD¡¢DBYTE¡¢CWORD¡¢XWORD¡¢PBYTE¡¢DWORD
¾ßÌåʹÓÿɿ´Ò»¿´absacc.h±ãÖª£¬ÀýÈ磺
rval=CBYTE[0x0002];Ö¸Ïò³ÌÐò´æÖüÆ÷µÄ0002hµØÖ·
rval=XWORD[0x0002];Ö¸ÏòÍâRAMµÄ0002hµØÖ·
2 ......
Ò²ÊÇÖÐÈí±ÊÊÔµÄËã·¨Ì⣬µ±Ê±²¢²»ÖªµÀ½ÐÑî»ÔÈý½Ç£¬°¦¡£NÄê²»ÓÃÁË£¬»¹µÃÔÙÊ°Æð£¬ÎªÁËÄǸöÃΡ£
#include <stdio.h>
void main()
{
int a[50][50];
int i,j,n;
printf("Please input Number:");
scanf("%d",&n);
  ......
C µ÷ÓÃ Fortran
c2ffn.f
SUBROUTINE NAMEAGE(NAME, NLEN, AGE, TEMP)
CHARACTER*(*) NAME
INTEGER NLEN,AGE
REAL TEMP
C
WRITE(6,1000) NAME(1:NLEN),AGE,TEMP ......