Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

c°æ±¾Óëc++°æ±¾µÄ¶¯Ì¬Êý×é´úÂë

C°æ±¾£º
vim stash.h
#ifndef STASH_H
#define STASH_H
typedef struct STASHTag {
  int size;  /* Size of each space */
  int quantity; /* Number of storage spaces */
  int next; /* Next empty space */
  /* Dynamically allocated array of bytes: */
  unsigned char* storage;
} Stash;
void initialize(Stash* S, int Size);
void cleanup(Stash* S);
int add(Stash* S, void* element);
void* fetch(Stash* S, int index);
int count(Stash* S);
void inflate(Stash* S, int increase);
#endif //STASH_H
vim stash.c
/* Error testing macros: */
#include <assert.h>
/* Dynamic memory allocation functions: */
#include <stdlib.h>
#include <string.h> /* memcpy() */
#include <stdio.h>
#include "stash.h"
#define STEP 10
void initialize(Stash* S, int Size) {
  S->size = Size;
  S->quantity = 0;
  S->storage = 0;
  S->next = 0;
}
void cleanup(Stash* S) {
  if(S->storage) {
     puts("freeing storage");
     free(S->storage);
  }
}
int add(Stash* S, void* element) {
  /* enough space left? */
  if(S->next >= S->quantity)
    inflate(S, STEP);
  /* Copy element into storage,
  starting at next empty space: */
  memcpy(&(S->storage[S->next * S->size]),
      element, S->size);
  S->next++;
  return(S->next - 1); /* Index number */
}
void* fetch(Stash* S, int index) {
  if(index >= S->next || index < 0)
    return 0;  /* Not out of bounds? */
  /* Produce pointer to desired element: */
 // return &(S->storage[index * S->size]);
  return (S->storage+index*S->size);
}
int count(Stash* S) {
  /* Number of elements in stash */
  return S->next;
}
void inflate(Stash* S, int increase) {
  void* v =
    realloc


Ïà¹ØÎĵµ£º

CÄ£ÄâÃæÏò¶ÔÏóµÄ·½·¨

CÄ£ÄâÃæÏò¶ÔÏóµÄ·½·¨
³éÏóÊý¾ÝÀàÐÍ
Èÿͻ§Ê¹ÓÃÖ¸ÏòûÓй«¿ª¶¨Òå (Ò²Ðí»¹Òþ²ØÔÚÀàÐͶ¨Òåºó±ß) µÄ½á¹¹ÀàÐ͵ÄÖ¸ÕëÊÇÒ»¸öºÃ°ì·¨¡£Ö»Òª²»·ÃÎʽṹ³ÉÔ±, ÉùÃ÷ºÍʹÓà “ÄäÃû” ½á¹¹Ö¸Õë (²»ÍêÈ«½á¹¹ÀàÐÍÖ¸Õë)ÊǺϷ¨µÄ¡£ÕâÒ²ÊÇʹÓóéÏóÊý¾ÝÀàÐ͵ÄÔ­Òò¡£
ÀàµÄ·½·¨
°Ñº¯ÊýÖ¸ÕëÖ±½Ó¼ÓÈëµ½½á¹¹ÖС£
¼Ì³Ð
Äã¿ÉÒÔʹÓø÷ÖÖ ......

C/C++ ºê´øÀ´µÄÆæ¼¼ÒùÇÉ


ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã ......

C/C++Ó﷨֪ʶ£ºtypedef structÓ÷¨Ïê½â

    typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£µ±typedefÓë½á¹¹½áºÏʹÓÃʱ£¬»áÓÐһЩ±È½Ï¸´ÔÓµÄÇé¿ö£¬¶øÇÒÔÚCÓïÑÔºÍC++ÀïÃæÂÔÓвî±ð£¬±¾ÎĽ«Ïêϸ½²½âtypedef structµÄÓ÷¨¡£
µÚÒ»Õ    typedef struct Óë structµÄÇø±ð
1.  »ù±¾½âÊÍ
    ty ......

cÖеÄÒ°Ö¸Õë

¶ÔÒ°Ö¸ÕëµÄһЩÈÏʶ£º
 
ÎÒ¶ÔÒ°Ö¸ÕëµÄÈÏʶ£¬ÎÒ¾õµÃÒ°Ö¸Õë¾ÍÊÇÒ»¸öÖ¸Õë±äÁ¿ËüÀïÃæµÄÖµÊDz»È·¶¨µÄ£¬ÕâÑùµ±Äã²Ù×÷Õâ¸ö±äÁ¿ËùÖ¸¶¨µÄÄÚ´æµØÖ·µÄʱºò£¬¾Í»á´øÀ´Ò»Ð©²»È·¶¨µÄÒòËØ£¬ÄÃÒ»¸ö±È½Ï³£¼ûµÄÎÊÌâÀ´¾Ù¸öÀý×ÓÀ´ËµÃ÷һϣº
¿´ÏÂÃæ´úÂ룺
 
int a = 10;
int *p;
*p = a;

1.      ......

CÎļþ²Ù×÷һЩ×ܽá

1.    Ê×ÏÈÒªÀí½â¼¸¸ö¸ÅÄ
Îļþ£º °´Ò»¶¨¹æÔò´æ´¢ÔÚ´ÅÅÌÉϵÄÊý¾Ý¼¯ºÏ¡£
ÎļþÃû£º ÄÜΨһ±êʶij¸ö´ÅÅÌÎļþµÄ×Ö·û´®¡£ÐÎʽ£º ÅÌ·û£º\ ·¾¶ \ ÎļþÃû.À©Õ¹Ãû
Îı¾Îļþ:£º Êý¾ÝÒÔÆäÊý×Ö×Ö·ûµÄASCIIÂëÐÎʽ¡¢Ò»¸ö×Ö½ÚÒ»¸ö×ֽڵش洢ÔÚ´ÅÅÌÉÏ¡£
¶þ½øÖÆÎļþ£ºÊý¾ÝÒÔ¶þ½øÖÆÐÎʽÔÚ´æ´¢ÔÚ´ÅÅÌÉÏ¡£
£¨Îı¾ÎļþºÍ¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ