C/C++ÖÐö¾ÙÀàÐÍ(enum)
Èç¹ûÒ»¸ö±äÁ¿ÄãÐèÒª¼¸ÖÖ¿ÉÄÜ´æÔÚµÄÖµ£¬ÄÇô¾Í¿ÉÒÔ±»¶¨Òå³ÉΪö¾ÙÀàÐÍ¡£Ö®ËùÒÔ½Ðö¾Ù¾ÍÊÇ˵½«±äÁ¿»òÕ߽жÔÏó¿ÉÄÜ´æÔÚµÄÇé¿öÒ²¿ÉÒÔ˵ÊÇ¿ÉÄܵÄÖµÒ»Ò»Àý¾Ù³öÀ´¡£
¡¡¡¡¾Ù¸öÀý×ÓÀ´ËµÃ÷Ò»°É£¬ÎªÁËÈôó¼Ò¸üÃ÷°×Ò»µã£¬±ÈÈçÒ»¸öǦ±ÊºÐÖÐÓÐÒ»Ö§±Ê£¬µ«ÔÚûÓдò¿ªÖ®Ç°Äã²¢²»ÖªµÀËüÊÇʲô±Ê£¬¿ÉÄÜÊÇǦ±ÊÒ²¿ÉÄÜÊǸֱʣ¬ÕâÀïÓÐÁ½ÖÖ¿ÉÄÜ£¬ÄÇôÄã¾Í¿ÉÒÔ¶¨ÒåÒ»¸öö¾ÙÀàÐÍÀ´±íʾËü£¡
enum box{pencil,pen};//ÕâÀïÄã¾Í¶¨ÒåÁËÒ»¸öö¾ÙÀàÐ͵ıäÁ¿½Ðbox£¬Õâ¸öö¾Ù±äÁ¿ÄÚº¬ÓÐÁ½¸öÔªËØÒ²³ÆÃ¶¾ÙÔªËØÔÚÕâÀïÊÇpencilºÍpen£¬·Ö±ð±íʾǦ±ÊºÍ¸Ö±Ê¡£
¡¡¡¡ÕâÀïҪ˵һÏ£¬Èç¹ûÄãÏ붨ÒåÁ½¸ö¾ßÓÐͬÑùÌØÐÔö¾ÙÀàÐ͵ıäÁ¿ÄÇôÄã¿ÉÒÔÓÃÈçϵÄÁ½ÖÖ·½Ê½½øÐж¨Ò壡
enum box{pencil,pen};
enum box box2;//»òÕß¼òд³Ébox box2;
¡¡¡¡ÔÙÓÐÒ»ÖÖ¾ÍÊÇÔÚÉùÃ÷µÄʱºòͬʱ¶¨Òå¡£
enum {pencil,pen}box,box2; //ÔÚÉùÃ÷µÄͬʱ½øÐж¨Ò壡
¡¡¡¡Ã¶¾Ù±äÁ¿ÖеÄö¾ÙÔªËØÏµÍ³Êǰ´ÕÕ³£Á¿À´´¦ÀíµÄ£¬¹Ê½Ðö¾Ù³£Á¿£¬ËûÃÇÊDz»ÄܽøÐÐÆÕͨµÄËãÊõ¸³ÖµµÄ£¬(pencil=1;)ÕâÑùµÄд·¢ÊÇ´íÎóµÄ£¬µ«ÊÇÄã¿ÉÒÔÔÚÉùÃ÷µÄʱºò½øÐи³Öµ²Ù×÷£¡
enum box{pencil=1,pen=2};
µ«ÊÇÕâÀïÒªÌØ±ð×¢ÒâµÄÒ»µãÊÇ£¬Èç¹ûÄã²»½øÐÐÔªËØ¸³Öµ²Ù×÷ÄÇÃ´ÔªËØ½«»á±»ÏµÍ³×Ô¶¯´Ó0¿ªÊ¼×Ô¶¯µÝÔöµÄ½øÐи³Öµ²Ù×÷£¬Ëµµ½×Ô¶¯¸³Öµ£¬Èç¹ûÄãÖ»¶¨ÒåÁ˵ÚÒ»¸öÄÇôϵͳ½«¶ÔÏÂÒ»¸öÔªËØ½øÐÐǰһ¸öÔªËØµÄÖµ¼Ó1²Ù×÷£¬ÀýÈç
enum box{pencil=3,pen};//ÕâÀïpen¾ÍÊÇ4ϵͳ½«×Ô¶¯½øÐÐpen=4µÄ¶¨Ò帳ֵ²Ù×÷£¡
¡¡¡¡Ç°ÃæËµÁËÄÇô¶à£¬ÏÂÃæ¸ø³öÒ»¸öÍêÕûµÄÀý×Ó´ó¼Ò¿ÉÒÔͨ¹ýÒÔϵĴúÂëµÄѧϰ½øÐиüÍêÕûµÄѧϰ£¡
#include <iostream>
using namespace std;
void main(void)
{
enum egg {a,b,c};
enum egg test; //ÔÚÕâÀïÄã¿ÉÒÔ¼òд³Éegg test;
test = c; //¶Ôö¾Ù±äÁ¿test½øÐи³ÓèÔªËØ²Ù×÷£¬ÕâÀïÖ®ËùÒԽи³ÔªËزÙ×÷²»½Ð¸³Öµ²Ù×÷¾ÍÊÇΪÁËÈôó¼ÒÃ÷°×ö¾Ù±äÁ¿ÊDz»ÄÜÖ±½Ó¸³ÓèËãÊýÖµµÄ£¬ÀýÈç(test=1;)ÕâÑùµÄ²Ù×÷¶¼ÊDz»±»±àÒëÆ÷Ëù½ÓÊܵģ¬ÕýÈ·µÄ·½Ê½ÊÇÏȽøÐÐÇ¿ÖÆÀàÐÍת»»ÀýÈç(test = (enum egg) 0;)£¡
if (test==c)
Ïà¹ØÎĵµ£º
http://www.kuqin.com/language/20090314/39862.html
Ö¸ÕëÊÇÒ»¸öÌØÊâµÄ±äÁ¿£¬ËüÀïÃæ´æ´¢µÄÊýÖµ±»½âÊͳÉΪÄÚ´æÀïµÄÒ»¸öµØÖ·¡£ Òª¸ãÇåÒ»¸öÖ¸ÕëÐèÒª¸ãÇåÖ¸ÕëµÄËÄ·½ÃæµÄÄÚÈÝ£ºÖ¸ÕëµÄÀàÐÍ£¬Ö¸ÕëËùÖ¸ÏòµÄ ÀàÐÍ£¬Ö¸ÕëµÄÖµ»òÕß½ÐÖ¸ÕëËùÖ¸ÏòµÄÄÚ´æÇø£¬»¹ÓÐÖ¸Õë±¾ÉíËùÕ¼¾ÝµÄÄÚ´æÇø¡£ÈÃÎÒÃÇ·Ö±ð˵Ã÷¡£
¡¡¡¡ ÏÈÉùÃ÷¼¸¸öÖ¸Õë·Å×Å×öÀý× ......
¿´µ½Õâ¸öÃæÊÔÌâ,¹À¼ÆºÜ¶à¸ÕѧCÖ¸ÕëµÄͬѧ¶¼»á¸ã´í.
void GetMemory(char *p)
{
// ´«µÝ½øÀ´µÄµÄֵʹµÃ*p==NULL
// ÕâÀïÐ޸ĵÄÊÇÕâ¸öº¯ÊýÄÚµÄÁÙʱָÕë±äÁ¿pµÄÖµ
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
// ´«µÝ½øÈ¥µÄÊÇstrµÄÖµNULL
GetMemory(str);
// ÕâÀïstrÖ¸Õë² ......
¡¡¡¡1£¬mallocÓëfreeÊÇC++/CÓïÑԵıê×¼¿âº¯Êý£¬new/deleteÊÇC++µÄÔËËã·û¡£ËüÃǶ¼¿ÉÓÃÓÚÉêÇ붯̬ÄÚ´æºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡2£¬¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ĶÔÏó¶øÑÔ£¬¹âÓÃmaloc/freeÎÞ·¨Âú×㶯̬¶ÔÏóµÄÒªÇó¡£¶ÔÏóÔÚ´´½¨µÄͬʱҪ×Ô¶¯Ö´Ðй¹Ô캯Êý£¬¶ÔÏóÔÚÏûÍö֮ǰҪ×Ô¶¯Ö´ÐÐÎö¹¹º¯Êý¡£ÓÉÓÚmalloc/freeÊǿ⺯Êý¶ø²»ÊÇÔËËã·û£¬²»ÔÚ±àÒëÆ ......
ÔÚÕâ¸öÀý×ÓÀ»Øµ÷º¯Êý±È½ÏÁ½¸öÖµ¡£²éÕÒº¯ÊýÏò±È½Ïº¯Êý´«µÝÁ½¸öÖ¸ÏòÐèÒª½øÐбȽϵÄÖµµÄÖ¸Õ룬²¢¼ì²é±È½Ïº¯ÊýµÄ·µ»ØÖµ¡£ÀýÈ磺Áã±íʾÏàµÈµÄÖµ£¬ÏÖÔÚ²éÕÒº¯
Êý¾ÍÓëÀàÐÍÎ޹أ¬ÒòΪËü±¾Éí²¢²»Ö´ÐÐʵ¼ÊµÄ±È½Ï¡£È·Êµ£¬µ÷ÓÃÕß±ØÐë±àд±ØÐèµÄ±È½Ïº¯Êý£¬µ«ÕâÑù×öÊǺÜÈÝÒ׵ģ¬ÒòΪµ÷ÓÃÕßÖªµÀÁ´±íÖÐËù°üº¬µÄÖµµÄÀàÐÍ ......