Cº¯ÊýÖ¸ÕëµÄÓ÷¨
2008-06-05 12:38------------------------------------------------------------------------------------------------
º¯ÊýÖ¸Õëͨ³£ÓÃÀ´ÊµÏֻص÷£¬Æä»ù±¾Ó÷¨ÈçÏ£º
1¡¢¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
// ¶¨ÒåÒ»¸öÔÐÍΪint Fun( int a );µÄº¯ÊýÖ¸Õë
typedef int (*PTRFUN) ( int aPara );
2¡¢º¯ÊýÖ¸Õë±äÁ¿µÄ¶¨Òå
PTRFUN pFun; // pFun Ϊº¯ÊýÖ¸Õë±äÁ¿Ãû
int (*pFun2) ( int a ); // pFun2Ò²ÊǺ¯ÊýÖ¸Õë±äÁ¿Ãû
3¡¢º¯ÊýÖ¸Õë×÷Ϊº¯ÊýµÄ²ÎÊý´«µÝ
// ¶¨Ò廨µ÷º¯Êý
int CallBack( int a ){
return ++a;
}
// ¶¨Ò廨µ÷Õߺ¯Êý
void Caller( PTRFUN cb )
// void Caller( int (*cb) ( int ) ) // Ò²¿ÉÕâÑùÉêÃ÷
{
int nPara = 1;
int nRet = cb( nPara );
}
// ʹÓûص÷
void Test(){
Caller( CallBack ); // Ö±½ÓʹÓûص÷º¯Êý
PTRFUN cb = CallBack; // int (*cb) ( int ); cb = CallBack;
int nRet1 = cb( 99 ); // nRet1 = 100;
}
4¡¢º¯ÊýÖ¸ÕëµÄÖ¸ÕëʹÓÃ
// ¶¨Ò庯ÊýÖ¸ÕëµÄÖ¸Õë
typedef int (**PTRPTRFUN) ( int aPara );
// º¯ÊýÖ¸ÕëµÄÖ¸Õë×÷Ϊ²ÎÊý
void PtrCaller( PTRPTRFUN cb )
// void PtrCaller( PTRFUN* cb ) // Ö¸ÕëÉêÃ÷
// void PtrCaller( int (**cb) ( int ) ) // ÔÐÍÉêÃ÷
{
int nRet = (*cb)(999); // nRet = 1000;
}
// ʹÓú¯ÊýÖ¸ÕëµÄÖ¸Õë
void Test(){
PTRFUN cb = CallBack;
PtrCaller( &cb );
}
5¡¢º¯ÊýÖ¸ÕëÊý×éµÄʹÓÃ
// º¯ÊýÖ¸ÕëÊý×éµÄ¶¨Òå
PTRFUN fArray[10];
// int (*fArray[10]) ( int ); // ÔÐͶ¨Òå
for ( int i = 0; i < 10; i++ ){
fArray[i] = CallBack;
int nRet = fArray[i](i); // nRet = i+1;
}
6¡¢º¯ÊýÖ¸ÕëµÄ´óС
// ¼ÈÈ»½ÐÖ¸Õ룬ËùÒÔ¸úÆÕͨµÄÖ¸ÕëÒ»ÑùÔÚ32λϵͳÏ´óС¶¼Îª4
int nSz1 = sizeof(PTRFUN); // nSz1 = 4;
int nSz2 = sizeof(PTRPTRFUN); // nSz2 = 4;
×¢Ò⣺
±àÒëÆ÷´æÔÚ¶àÖÖÖÖµ÷Óù淶£¬
Ïà¹ØÎĵµ£º
Ò»°ãÎÒÃǵ÷ÓÃshell½Å±¾¶¼ÓÃsystem()À´ÊµÏÖ£¬È»ºó·¢ÏÖsytem·µ»ØÖµ²»ºÃ¿ØÖƶøÇÒת»»Âé·³(»¹ÒªÓÒÒÆ4λ¼´/256)£¬ÓÚÊÇÎÒÓÃpopenÀ´»ñÈ¡shellµÄ·µ»ØÖµ¡£¹ûÈ»ÔÚUnixÊÀ½çÀïÃæ£¬Í¨µÀ¾ÍÊÇÁ¬½á¸÷¸ö·½ÃæµÄÇÅÁº°¡£¡
´úÂëÀý×ÓÈçÏ£º
#include<stdio.h>
#include<stdlib.h>
#include<sys/wait.h>
int main (int argc ......
¼ò½é
±¾ÎÄÊÇΪÁËÂú×㿪·¢ÈËÔ±µÄÐèÒª¶øÐ´µÄ¡£ÎÒÃÇ×ܽáÁËÒ»Ì×Ö¸ÄÏ£¬ÎÞÂÛ×÷Ϊ¿ª·¢ÈËÔ±»¹ÊǹËÎÊ£¬ÕâЩָÄ϶àÄêÀ´Ò»Ö±¶¼ºÜºÃµØÖ¸µ¼×ÅÎÒÃÇ£¬ÎÒÃǰÑËüÃÇ×÷Ϊ½¨ÒéÌṩ¸øÄú£¬Ï£Íû¶ÔÄúµÄ¹¤×÷ÓÐËù°ïÖú¡£ÄúÒ²Ðí²»ÔÞͬÆäÖеÄijЩָÄÏ£¬µ«ÎÒÃÇÏ£ÍûÄú»áϲ»¶ÆäÖеÄһЩ²¢ÔÚÄúµÄ±à³Ì»òÒÆÖ²ÏîÄ¿ÖÐʹÓÃËüÃÇ¡£
·ç¸ñÓëÖ¸ÄÏ
ʹÓÃÒ»ÖÖʹ´úÂë¾ß ......
1. CµÄʵÏÖ
//stack.h
#ifndef STACK_H
#define STACK_H
#define STACK_CAPACITY 20//maximum size of stack
typedef int stackEle;
typedef struct
{
stackEle myArray[ STACK_CAPACITY ];
int myTop;
}stack;
//construct(initialize) an empty stack
stack *stack_init(void);
//return 1 if stack is em ......
½ñÌ죬ÔÚÉè¼ÆC´úÂëµÄʱºò£¬Ïëµ½ÁËÒ»µã£¬ÏëÈÃB°üº¬A£¬²¢×ÔÓÉʹÓÃAµÄÍ·Îļþ£¬µ«ÊÇÈ´²»ÏëÈðüº¬BµÄCʹÓÃA£¬ÈÃAûÓÐȨÏÞÖ±½ÓʹÓÃʹÓÃC……ÈçÏÂͼ£º
²»ÖªµÀÓ¦¸ÃÔõô°ì¡£µ±Ê±ÐÄÏ룬Èç¹ûÊÇC++£¬Ê¹Óü̳У¬ºÜÁé»î¾ÍÄܸ㶨ÕâЩÊÂ
¸úͬÊÂÉÌÁ¿ÁËһϣ¬¶Ô·½¸ø³öÁË ......
Ò»¡¢Ê²Ã´ÊÇc/sºÍb/s
ÒªÏë¶Ô“c/s”ºÍ“b/s”¼¼Êõ·¢Õ¹±ä»¯ÓÐËùÁ˽⣬Ê×ÏȱØÐë¸ãÇå³þÈý¸öÎÊÌâ¡£
µÚÒ»¡¢Ê²Ã´ÊÇc/s½á¹¹¡£
c/s£¨client/server£©½á¹¹£¬¼´´ó¼ÒÊìÖªµÄ¿Í»§»úºÍ·þÎñÆ÷½á¹¹¡£ËüÊÇÈí¼þϵͳÌåϵ½á¹¹£¬Í¨¹ýËü¿ÉÒÔ³ä·ÖÀûÓÃÁ½¶ËÓ²¼þ»·¾³µÄÓÅÊÆ£¬½«ÈÎÎñºÏÀí·ÖÅäµ½client¶ËºÍserver¶ËÀ´ÊµÏÖ£¬½µµÍÁ ......