¶ÑÕ»µÄC´úÂëʵÏÖ
2009-09-13 16:42:43
½ñÌìʵÏÖ¶ÑÕ»½á¹¹²¿·ÖµÄ´úÂ룬²¢ÓÃÒ»¼òµ¥³ÌÐò²âÊԳɹ¦¡£
stack.h:
#ifndef _STACK_H_
#define _STACK_H_
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#define STACK_INIT_SIZE 5
#define STACKINCREMENT 5
typedef int SElemType; //the elements type
typedef enum {
TRUE=0,
FALSE=-1
} Status;
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack *S);
Status DestoryStack(SqStack *S);
Status ClearStack(SqStack *S);
Status StackEmpty(SqStack S);
int LengthStack(SqStack S);
Status GetTop(SqStack S,SElemType *e);
Status Push(SqStack *S,SElemType e);
Status Pop(SqStack *S,SElemType *e);
Status StackTraverse(SqStack S);
#endif
stack.c
#include "Stack.h"
Status InitStack (SqStack *S)
{
if((S->base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)))==(SElemType*)NULL){
printf("init stack malloc error !\n");
return FALSE;
}
S->top=S->base;
S->stacksize=STACK_INIT_SIZE;
return TRUE;
}
Status DestoryStack(SqStack* S)
{
free(S->base);
S->base=S->top=(SElemType*)NULL;
S->stacksize=0;
return TRUE;
}
Status ClearStack(SqStack * S)
{
if(S->top <= S->base){
printf("not stack or empty stack !\n");
return FALSE;
}
S->top = S->base;
return FALSE;
}
Status StackEmpty(SqStack S)
{
if(S.top == S.base){
printf("empty stack checked!\n");
return TRUE;
}
else return FALSE;
}
int LengthStack(SqStack S)
{
return S.top-S.base;
}
Status GetTop(SqStack S, SElemType * e)
{
if(S.top==S.base){
printf("the stack is already empty !\n");
return FALSE;
}
*e=*(S.top-1);
return TRUE;
}
Status StackRealloc (SqStack *S, size_t size)
{
size_t offset = 0;
SElemType* temp = (SElemType *)NULL;
if((temp = (SElemType*)malloc(size))==(SElemType*)NULL){
printf("realloc address OX%d\n");
printf("realloc error!
Ïà¹ØÎĵµ£º
BSÓëCSµÄÁªÏµÓëÇø±ð[ת]
5
ÍƼö
javaÊʺϿª·¢bs½á¹¹£¬cs²»ÊÇËüµÄÇ¿Ïî.
C/SÊÇClient/ServerµÄËõд¡£·þÎñÆ÷ͨ³£²ÉÓøßÐÔÄܵÄPC¡¢¹¤×÷Õ¾»òСÐÍ»ú£¬²¢²ÉÓôóÐÍÊý¾Ý¿âϵͳ£¬ÈçOracle¡¢Sybase¡¢Informix»ò SQL Server¡£¿Í»§¶ËÐèÒª°²×°×¨ÓõĿͻ§¶ËÈí¼þ¡£
B/SÊÇBrower/ServerµÄËõд£¬¿Í»§»úÉÏÖ»Òª°²×°Ò»¸öä¯ÀÀÆ÷£¨Browser£© ......
ÕâƪÈÕÖ¾»¹ÊÇÏÈ´ÓÒ»¸öÄܹ»ÔËÐÐÆðÀ´µÄÀý×Ó³ö·¢£¬Ò»µ©ÄÜ˳ÀûµÄ¿´µ½³ÌÐòµÄ³É¹¦ÔËÐУ¬ÄÇô½ÓÏÂÀ´µÄʼþÎÒÏëÓ¦¸ÃÊÇÎÊΪʲôÁË£¿ËƺõÕâÑù¸ü¼ÓÈÝÒ×Àí½âºÍÕÆÎÕ¡£
¶ÔÓÚsocket³ÌÐòµÄ¸ÅÄîÕâÀï¾Í²»¶àдÁË£¬µ«ÎÒÏàÐÅ£¬Èç¹ûÄÜ¿´ÍêÕâÕûƪÎÄÕ£¬ÎÒÏàÐŲ»»áÔÙÓÐÕâÑùµÄÒÉÎʵġ£
ÏÂÃ潫±àдһ¸öc/s½á¹¹µÄ³ÌÐò£¬Ö÷Òª¹¦ÄÜÊÇclient½«Ïòserver·¢Ë ......
´òÓ¡×Ô¼ºµÄÒ»¶ÎƯÁÁC³ÌÐò
#include <stdio.h>
int main()
{
char *p ="#include <stdio.h>%c int main(){char *p=%c%s%c; printf(p, 10, 34, p, 34);}";
printf(p, 10, 34, p, 34);
} ......
1.strlen()
ʵÏÖ£º
size_t strlen(const char *s)
{
size_t n;
for(n = 0; *s != '\0'; s++)
++n;
return n;
  ......
¿¼²éÒ»¸ö³õ¼¶Ç¶Èëʽϵͳ¿ª·¢ÈËÔ±µÄC»ù±¾¹¦£¬¸½Óдð°¸ÌâÄ¿ÓÉ×ÊÉîǶÈëʽϵͳר¼ÒÄⶨ,Ä¿µÄÊÇ¿¼²éÈëÃż¶µÄǶÈëʽÈí¼þ¿ª·¢ÈËÔ± Gavin ShawÌṩÏêϸ½â´ð
±àÕß°´:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐŹ¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒªÒ»¶¨µ ......