C ÓïÑÔµÄÃæÏò¶ÔÏó
C ÓïÑÔµÄÃæÏò¶ÔÏó
ÈçǰËù˵£¬ÃæÏò¶ÔÏóÊÇÒ»ÖÖÈí¼þÉè¼ÆµÄ˼Ï룬ÊÇÓïÑÔÎ޹صġ£ÔÚ±¾½ÚÖУ¬ÎÒ¾ÙÒ»¸öÁ´±í(list) µÄÀý×ÓÀ´ËµÃ÷ÈçºÎÔÚ C ÓïÑÔÖеÄÉè¼Æ³öÓÐÃæÏò¶ÔÏó·ç¸ñµÄ´úÂë¡£
¶¨Òå½Ó¿Ú
½Ó¿ÚÊÇÃæÏò¶ÔÏóÓïÑÔÖеÄÒ»¸ö±È½ÏÖØÒªµÄ¸ÅÄ½Ó¿ÚÖ»¶ÔÍⲿ³ÐŵʵÏָýӿڵÄʵÌå¿ÉÒÔÍê³ÉʲôÑùµÄ¹¦ÄÜ£¬µ«ÊDz»±©Â¶ÊµÏֵķ½Ê½¡£ÕâÑùµÄºÃ´¦ÊÇ£¬ÊµÏÖÕß¿ÉÒÔÔÚ²»½Ó´¥½Ó¿ÚʹÓÃÕߵĴúÂëµÄÇé¿öÏ£¬¶ÔʵÏÖ½øÐе÷Õû¡£
ÎÒÃÇÀ´¿´¿´Á´±íµÄ½Ó¿Ú¶¨Ò壺
Çåµ¥ 1. Á´±íµÄ½Ó¿Ú¶¨Òå
#ifndef _ILIST_H
#define _ILIST_H
// ¶¨ÒåÁ´±íÖеĽڵã½á¹¹
typedef struct node{
void *data;
struct node *next;
}Node;
// ¶¨ÒåÁ´±í½á¹¹
typedef struct list{
struct list *_this;
Node *head;
int size;
void (*insert)(void *node);// º¯ÊýÖ¸Õë
void (*drop)(void *node);
void (*clear)();
int (*getSize)();
void* (*get)(int index);
void (*print)();
}List;
void insert(void *node);
void drop(void *node);
void clear();
int getSize();
void* get(int index);
void print();
#endif /* _ILIST_H */
IList ½Ó¿ÚÖУ¬¿ÉÒÔÇåÎúµÄ¿´µ½£¬¶ÔÓÚÒ»¸ö list ʵÌå ( Ò²¾ÍÊǶÔÏó ) À´Ëµ£¬¿ÉÒÔÔÚÆäÉÏ ½øÐÐ insert, drop, clear, getSize, get(index) ÒÔ¼° print µÈ²Ù×÷¡£
½Ó¿ÚµÄʵÏÖ
Çåµ¥ 2. ¹¹Ôì·½·¨
Node *node = NULL;
List *list = NULL;
void insert(void *node);
void drop(void *node);
void clear();
int getSize();
void print();
void* get(int index);
List *ListConstruction(){
list = (List*)malloc(sizeof(List));
node = (Node*)malloc(sizeof(Node));
list->head = node;
list->insert = insert;// ½« insert º¯ÊýʵÏÖ×¢²áÔÚ li
Ïà¹ØÎĵµ£º
Ò»¡¢¸ÅÊö
1¡¢C++ËäÈ»ÊÇ´ÓCÓïÑÔÖз¢Õ¹µÄ£¬µ«ÆäÖÐÓÐÐí¶àÒªµã£¬ÊÇCÓïÑÔÖÐËùûÓе쬰üÀ¨ÒýÓã¬ÄÚÁªº¯ÊýµÈ£¬ÔÚ´Ë×öÒ»¸ö½éÉÜ¡£
2¡¢¶ÔÓÚC/C++ÖеĻù´¡ÊDZØÐëÒªÏêϸÁ˽âµÄ£¬Äܹ»Éî¿ÌÀí½âÆäº¬ÒåÒÔ¼°ÆäÀ´Ô´£¬ÊÇÒ»¸öÈËÄÚ¹¦Éî¿ÌµÄ±íÏÖ¡£Èç¹ûһЩ»ù´¡µÄÎÊÌ⣬
¶¼Ëµ²»ÉÏÀ´£¬ÓÖÈçºÎ¸øÈËÒÔÐÅÐÄÄØ¡£
¶þ¡¢³£¼ûµÄÎÊÌâ
1¡¢ÎªÊ²Ã´ÒªÊ¹ ......
#include "windows.h"
void main()
{
MessageBox(NULL, "ÄãºÃ°¡£¡", "Ìáʾ", MB_OK);
return 0;
}
ͨ¹ýwindows.hÎļþµ÷ÓÃwindows×Ô´øµÄapiº¯ÊýMessageBox£¬À´Íê³ÉÌáʾ¿ò£¬Ð§¹û°ô
null±íʾ¸½ÊôµÄ´°ÌåΪ¿Õ
MB_OK±íʾ¶Ô»°¿òµÄÀàÐÍ ......
±àÕß°´
:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐŹ¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒªÒ»¶¨µÄ֪ʶ´¢±¸¡£
¶ÔÓÚ´ó¶àÊýÈË£¬ÎÒÃÇÔ¤ÆÚÄã¿ÉÄÜ´ð´í 3) 4) 15)Ì⣬ËùÒÔ´ð´í3µÀÒÔÄڵģ¬ÎÒÃÇÈÏΪÄãºÜ°ô
´ð´í5µÀÌâÒÔÄÚ£¬ÎÒÃÇÈÏΪÄ㻹²»´í(Ä ......
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇ ......
1.1 ±äÁ¿×÷ÓÃÓò
1.1.1 ¼¸ÖÖ³£¼ûÀàÐͱäÁ¿µÄ×÷ÓÃÓò
×÷ÓÃÓò£¨scope£©»òÕ߿ɼûÐÔÊÇÖ¸±äÁ¿ÔÚ³ÌÐòÄڵĿɼûºÍ¿ÉÒýÓõķ¶Î§¡£
±ÈÈç:
1¡¢ È«¾Ö±äÁ¿ÔÚËùÓеÄÎļþ¶¼¿É¼û£¬ÄÇËûµÄ×÷ÓÃÓò¾ÍÊÇËùÓÐÎļþ£»
2¡¢ static¶¨ÒåµÄÈ«¾Ö±äÁ¿£¬Ö»ÔÚ¶¨ÒåËüµÄÔ´ÎļþÖпɼû£¬ÄÇËûµÄ×÷ÓÃÓò¾ÍÊÇÆäËùÔÚµÄÔ´Îļþ£»
3¡¢ º¯ÊýÄÚ²¿µÄ¾Ö²¿±äÁ¿£¬Ö»ÔÚÆäº¯Êý ......