¼¶±ð£º ³õ¼¶
Çñ ¿¡ÌÎ
(juntao.qiu@gmail.com
), Èí¼þ¹¤³Ìʦ, Jinfonet
2009 Äê 9 ÔÂ 25 ÈÕ
ÃæÏò¶ÔÏóµÄÓïÑÔ¸ü½Ó½üÈ˵Ä˼ά·½Ê½£¬¶øÇÒÔںܴó³Ì¶ÈÉϽµµÍÁË´úÂëµÄ¸´ÔÓÐÔ£¬Í¬Ê±Ìá¸ßÁË´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ£¬´«Í³µÄ C ´úÂëͬÑù¿ÉÒÔÉè¼Æ³ö±È½ÏÒ׶Á£¬Ò×ά»¤£¬¸´ÔӶȽϵ͵ÄÓÅÃÀ´úÂ룬±¾ÎĽ«Í¨¹ýÒ»¸öʵ¼ÊµÄÀý×ÓÀ´ËµÃ÷ÕâÒ»µã¡£
»ù´¡ÖªÊ¶
½á¹¹Ìå
³ýÁËÌṩ»ù±¾Êý¾ÝÀàÐÍÍ⣬C ÓïÑÔ»¹Ìṩ¸øÓû§×Ô¼º¶¨ÖÆÊý¾ÝÀàÐ͵ÄÄÜÁ¦£¬ÄǾÍÊǽṹÌ壬ÔÚ C ÓïÑÔÖУ¬Äã¿ÉÒÔÓýṹÌåÀ´±íʾÈκÎʵÌå¡£½á¹¹ÌåÕýÊÇÃæÏò¶ÔÏóÓïÑÔÖеÄÀàµÄ¸ÅÄîµÄ³ûÐΣ¬±ÈÈ磺
typedef struct{
float x;
float y;
}Point;
¶¨ÒåÁËÒ»¸öƽÃæ×ø±êϵÖеÄÒ»¸öµã£¬µãÖÐÓÐÁ½¸öÓò£¬x ×ø±êºÍ y ×ø±ê¡£
½á¹¹ÌåÖеÄÓò³ÆΪ½á¹¹ÌåµÄ³ÉÔ±
¡£½á¹¹ÌåÖеÄÊý¾ÝÀàÐÍ¿ÉÒÔÊǼòµ¥Êý¾ÝÀàÐÍ£¬Ò²¿ÉÒÔÊÇÆäËûµÄ½á¹¹Ì壬ÉõÖÁ½á¹¹Ìå±¾Éí»¹¿ÉÒÔǶÌ×£¬±ÈÈ磬һ¸ö±ê×¼µÄÁ´±í½á¹¹¿ÉÒÔ½øÐÐÈç϶¨Ò壺
typedef struct node{
void *data;// Êý¾ÝÖ¸Õë
int dataLength;// Êý¾Ý³¤¶È
struct node *next;// Ö¸ÏòÏÂÒ»¸ö½Úµã
}Node;
¿ÉÒÔ¿´µ½£¬½á¹¹Ìå node ÖÐµÄ next Ö¸ÕëµÄÀàÐÍÓÖÊÇ node ÀàÐÍ¡£
º¯ÊýÖ¸Õë
Ö¸ÕëÊÇ C ÓïÑ ......
ÔÚCÓïÑÔÖУ¬ÁªºÏÀàÐÍÊÇÒ»ÖֱȽÏÌØÊâµÄÀàÐÍ£¬Æä¶à¸ö³ÉÔ±¹²ÏíÒ»¸ö´æ´¢Çø£¨Îª×î´ó³ÉÔ±µÄ³¤¶È£©£¬Ò»´ÎÖ»ÄÜ°üº¬Ò»¸ö³ÉÔ±Öµ£¬»á½øÐÐÄÚ´æ¶ÔÆë¡£¶ÔÁªºÏÀàÐͽøÐÐsizeofÔËËã»á°üÀ¨ËùÓгÉÔ±ËùÐèÒªµÄ´æ´¢¿Õ¼äÁ¿£¬»¹°üÀ¨³ÉÔ±¼äºÍ³ÉÔ±ºóÃæµÄÌî³ä¿Õ¼ä¡£ÁªºÏÀàËÆÓÚÆäËûÓïÑÔÖеē±äÌå¼Ç¼”£¬Èç¹ûÁªºÏµÄ³¤¶ÈºÜ´ó»òÕßÓдóÁ¿µÄÁªºÏ£¬Ôò¿ÉÒÔ´ó´ó½ÚÊ¡´æ´¢¿Õ¼ä¡£
1¡¢ÁªºÏÖ»ÄÜÒ»´Î¸³ÖµÒ»¸ö³ÉÔ±£¬²¢Ê¹ÓÃËü£¬µ«CÓïÑÔûÓÐÌṩ²éѯÁªºÏÉÏÒ»´Î¸³ÖµËùÓóÉÔ±µÄ·½·¨¡£ÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸öenum£¬ÆäÖи÷¸öö¾Ù³£Á¿´ú±íunion¸÷¸ö³ÉÔ±µÄ±êÖ¾¡£È»ºó°ÑunionºÍÕâ¸öenum·â×°ÔÚÒ»¸östructÖУ¬µ±¶ÔunionµÄij¸ö³ÉÔ±¸³ÖµÊ±£¬¾ÍÉèÖÃÏàÓ¦µÄ±êÖ¾£¬ÕâÑù¾Í¿ÉÒÔ¸ú×ÙÁªºÏµÄ³ÉÔ±¸³Öµ¡£
/* widget.c£ºÓÃö¾Ù³£Á¿À´¸ú×ÙÁªºÏÀàÐ͵ijÉÔ±¸³Öµ */
#include <stdio.h>
#include <string.h>
enum widget_tag{ /* ÁªºÏµÄ¸÷¸ö³ÉÔ±µÄ±êÖ¾ */
count_widget,
value_widget,
name_widget
};
struct WIDGET{ /* °ÑunionºÍenum·â×°ÔÚÒ»¸östructÖÐ */
enum widget_tag tag;
union{
long count;
double value;
char name[10];
} data;
} x;
typedef stru ......
ÈçºÎÀí½âc
ºÍc ++
µÄ¸´ÔÓÀàÐÍÉùÃ÷(ת)
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) )
[10];
ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++
ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌ춼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconst
ÐÞÊηûºÍtypedef
£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++
ÉùÃ÷µÄ“
ÓÒ×ó·¨Ôò”
¡£
¡¡¡¡ÐèҪǿµ÷һϵÄÊÇ£¬¸´ÔÓµÄC/C++
ÉùÃ÷²¢²»ÊǺõıà³Ì·ç¸ñ£»ÎÒÕâÀï½ö½öÊǽÌÄãÈçºÎÈ¥Àí½âÕâЩÉùÃ÷¡£×¢Ò⣺ΪÁ˱£Ö¤Äܹ»ÔÚͬһÐÐÉÏÏÔʾ´úÂëºÍÏà¹Ø×¢ÊÍ£¬±¾ÎÄ×îºÃÔÚÖÁÉÙ1024x768
·Ö±æÂʵÄÏÔʾÆ÷ÉÏÔĶÁ¡£
ÈÃÎÒÃÇ´ÓÒ»¸ö·Ç³£¼òµ¥µÄÀý×Ó¿ªÊ¼£¬ÈçÏ£º
int n;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare n as an int”
£¨n
ÊÇÒ»¸öint
Ð͵ıäÁ¿£©¡£½ÓÏÂÈ¥À´¿´Ò»ÏÂÖ¸Õë±äÁ¿£¬ÈçÏ£º
int *p;
Õâ¸öÓ¦¸Ã±»Àí½âΪ“declare p as an int *”
£¨p
ÊÇÒ»¸öint *
Ð͵ıäÁ¿£©£¬»òÕß˵p
ÊÇÒ»¸öÖ¸ÏòÒ»¸öint
ÐͱäÁ¿µÄÖ¸Õë¡£ÎÒÏëÔÚÕâÀïÕ¹¿ªÌÖÂÛһϣºÎÒ¾õµÃÔÚÉùÃ÷Ò»¸öÖ¸Õ루»òÒýÓã©ÀàÐ͵ıäÁ¿Ê±£¬×îºÃ½«*
£¨»ò&
£©Ð´ÔÚ½ô¿¿±äÁ¿Ö®Ç°£¬¶ø²»Êǽô¸ú»ù±¾ÀàÐÍÖ®ºó¡£ÕâÑù¿ÉÒÔ±ÜÃâһР......
дÔÚÇ°Ã棺
¡¡¡¡ÂÛ̳Àï×ÜÓÐÄÇôһЩÎÊÌâÊdz¤Ê¢²»Ë¥µÄ£¬½ñÌìÕâ¸öÎÊ£¬Ã÷ÌìÄǸöÎÊ£¬µ½ÀúÊ·Ìû×ÓÀïÒ»ËÑ¿ÉÒÔ×¥³öÀ´Ò»´ó°Ñ¡£ÓÐʱºòÕⶼÁîÎÒ»³ÒÉÊDz»ÊÇÎÒÃǵĽÌÓýÌåÖÆ´æÔÚÎÊÌâ……
¡¡¡¡ÓÚÊÇÎÒ¿ªÁËÕâƪÎÄÕ£¬ËѼ¯ÎÒ¼ûµ½µÄ³¤Éú²»ÀÏÖ®Ìû£¬Ï£Íû¿ÉÒÔÆ𵽲ο¼¼ÛÖµ¡£
¡¡¡¡ÕâÀïʹÓõıàÒë»·¾³Îª gcc/g++ 4.3.3 for ubuntu 9.04
Êý×éÃûºÍÖ¸ÕëµÄÎÊÌâ
¡¡¡¡Õâ¾ø¶ÔÊǽ̲ÄÎÊÌ⣡ÏÖÔÚ¹úÄÚÓÐÌ«¶à½Ì²Ä¹àÊä“Êý×éÃûÏ൱ÓÚÖ¸Õ딵ĸÅÄîÁË£¡ÓÚÊÇ·×·×ÓÐÈË°ÑÊý×éÃûºÍÖ¸ÕëµÈͬÆðÀ´£¬ÈÏΪÊý×éÃûÆäʵ¾ÍÊÇÒ»¸öÖ¸Õë¡£¾Ã¶ø¾ÃÖ®£¬Ðí¶àÐÂÊÖÒѾ²»ÖªµÀ»¹ÓÐÒ»ÖÖÊý¾ÝÀàÐͽÐ×ö“Êý×é”ÁË¡£
¡¡¡¡¶ÔÓÚÕâ¸öÎÊÌâÊ×ÏÈÓ¦¸Ã´Ó¸ÅÄîÉϳÎÇ壬¼á¶¨²»ÒƵذÑÊý×éºÍÖ¸ÕëÕâÁ½ÖÖÀàÐÍ»®Çå½çÏߣ¬ÈÏʶµ½ËüÃÇËäÈ»ÓÐǧ˿ÍòÂƵÄÁªÏµ£¬µ«ÆäʵÊÇÁ½ÖÖ²»Í¬µÄÊý¾ÝÀàÐÍ¡£¾ÍÈçÏÂÃæËù¿´µ½µÄ£º
#include <iostream>
#include <typeinfo>
using namespace std;
#define gettype(id) (cout<<typeid(id).name()<<endl)
int a;
char arrChar[10];
char str1[] = "string";
char str2[] = "string?";
char *p1 = str1;
char *p2 = str2;
int main()
{
gett ......
дÔÚÇ°Ã棺
¡¡¡¡ÂÛ̳Àï×ÜÓÐÄÇôһЩÎÊÌâÊdz¤Ê¢²»Ë¥µÄ£¬½ñÌìÕâ¸öÎÊ£¬Ã÷ÌìÄǸöÎÊ£¬µ½ÀúÊ·Ìû×ÓÀïÒ»ËÑ¿ÉÒÔ×¥³öÀ´Ò»´ó°Ñ¡£ÓÐʱºòÕⶼÁîÎÒ»³ÒÉÊDz»ÊÇÎÒÃǵĽÌÓýÌåÖÆ´æÔÚÎÊÌâ……
¡¡¡¡ÓÚÊÇÎÒ¿ªÁËÕâƪÎÄÕ£¬ËѼ¯ÎÒ¼ûµ½µÄ³¤Éú²»ÀÏÖ®Ìû£¬Ï£Íû¿ÉÒÔÆ𵽲ο¼¼ÛÖµ¡£
¡¡¡¡ÕâÀïʹÓõıàÒë»·¾³Îª gcc/g++ 4.3.3 for ubuntu 9.04
Êý×éÃûºÍÖ¸ÕëµÄÎÊÌâ
¡¡¡¡Õâ¾ø¶ÔÊǽ̲ÄÎÊÌ⣡ÏÖÔÚ¹úÄÚÓÐÌ«¶à½Ì²Ä¹àÊä“Êý×éÃûÏ൱ÓÚÖ¸Õ딵ĸÅÄîÁË£¡ÓÚÊÇ·×·×ÓÐÈË°ÑÊý×éÃûºÍÖ¸ÕëµÈͬÆðÀ´£¬ÈÏΪÊý×éÃûÆäʵ¾ÍÊÇÒ»¸öÖ¸Õë¡£¾Ã¶ø¾ÃÖ®£¬Ðí¶àÐÂÊÖÒѾ²»ÖªµÀ»¹ÓÐÒ»ÖÖÊý¾ÝÀàÐͽÐ×ö“Êý×é”ÁË¡£
¡¡¡¡¶ÔÓÚÕâ¸öÎÊÌâÊ×ÏÈÓ¦¸Ã´Ó¸ÅÄîÉϳÎÇ壬¼á¶¨²»ÒƵذÑÊý×éºÍÖ¸ÕëÕâÁ½ÖÖÀàÐÍ»®Çå½çÏߣ¬ÈÏʶµ½ËüÃÇËäÈ»ÓÐǧ˿ÍòÂƵÄÁªÏµ£¬µ«ÆäʵÊÇÁ½ÖÖ²»Í¬µÄÊý¾ÝÀàÐÍ¡£¾ÍÈçÏÂÃæËù¿´µ½µÄ£º
#include <iostream>
#include <typeinfo>
using namespace std;
#define gettype(id) (cout<<typeid(id).name()<<endl)
int a;
char arrChar[10];
char str1[] = "string";
char str2[] = "string?";
char *p1 = str1;
char *p2 = str2;
int main()
{
gett ......