ÎÒµÄCʵ¼ù(1)£ººêµÄÓ¦ÓÃ
1¡¢ÎªÁ˵÷ÓúêʱÄܵõ½ÕýÈ·½á¹û£¬ÔÚºêÌåÖн¨Òé¶ÔºêµÄÿ¸ö²ÎÊýÓÃÀ¨ºÅÀ¨ÆðÀ´£¬²¢ÇÒµ±ºêÌåÊÇÒ»¸ö±í´ïʽʱÕû¸öºêÌåÒ²ÓÃÀ¨ºÅÀ¨ÆðÀ´¡£
/* c1.c£º½«Á½¸öÊýÏà³Ë */
#define product(x,y) ((x)*(y))
#include <stdio.h>
int main(){
int a=1,b=2,c=3,d=4,x=0;
x=product(a+3,b)+product(c,d); /* ÈôºêÌåÖÐûÓÐʹÓÃÀ¨ºÅ£¬ÔòµÃ²»µ½
ÄãÏëÒªµÄ½á¹û */
printf("%d\n",x);
return 0;
}
2¡¢ÓúêÀ´²åÈëÈÎÒâÓï¾ä¡£
/* c2.c£º²åÈëÈÎÒâÓï¾ä */
#define insert(stmt) stmt /* ²åÈëÈÎÒâÓï¾ä */
#include <stdio.h>
int main(){
int a,b;
insert({ a=1;b=1; }) /* ÕâÊÇÒ»¸ö¸´ºÏÓï¾ä */
insert({ a=1,b=1; }) /* Èç¹û¶ººÅ±í´ïʽ²»ÓÃÔ²À¨ºÅÀ¨Æð£¬ÔòÔ¤´¦ÀíÆ÷»áÈÏΪ
ÓÐÁ½¸öʵ²Î£¬±¨´í */
printf("a=%d, b=%d\n",a,b);
return 0;
}
×¢Ò⣬µÚ2¸öµ÷ÓÃÖжººÅ±í´ïʽÓï¾äÒªÓÃÀ¨ºÅÀ¨ÆðÀ´£¬·ñÔòÔ¤´¦ÀíÆ÷»áÈÏΪ¸øºê´«ÁËÁ½¸öʵ²Î£¬ÓÉÓÚûÓÐÁ½¸öʵ²ÎµÄincr£¬Òò´Ë»á±¨´í¡£
3¡¢ÎªÁËʹº¯ÊýʽºêÄÜÏñÕæÕýµÄº¯ÊýÒ»Ñù¹¤×÷£¬½¨ÒéÓÃdo{ }while(0)Óï¾ä°üסºêÌåµÄ´úÂë¡£
/* c3.c£º ½»»»Á½¸öÕûÐͱäÁ¿µÄÖµ */
/* #define swap(x,y) { int temp=x; x=y; y=temp; } */
#define swap(x,y) \
do { int temp=x; x=y; y=temp; } while(0)
#include <stdio.h>
int main(){
int x=4,y=3;
if(x>y) swap(x,y); /* ÓõÚÒ»¸öswapʱ»á³ö´í£¬µ¼ÖÂ{ }ºóÃæÓÐÒ»¸ö·ÖºÅ£¬
Óõڶþ¸öswapÔòûÎÊÌâ */
else x=y;
printf("x=%d, y=%d\n",x,y);
return 0;
}
Èç¹ûÓÃ×¢ÊÍÖж¨ÒåÄǸöswap£¬Ôòif {...};ºóÃæ»áÒ»¸ö·ÖºÅ£¬µ¥¶ÀµÄ·ÖºÅÊÇÒ»¸ö¿ÕÓï¾ä£¬Õâµ¼ÖÂifÓëelseÖ®¼äÓÐÁ½¸öµ¥¶ÀµÄÓï¾ä²»ºÏ·¨¡£¶øÓÃdo{ }while(0)Ì×סÓï¾äʱÔò²»»áÓÐÕâÑùµÄÎÊÌâ¡£
4¡¢ÓúêÀ´°ü×°Óï¾ä¡£
/* c4.c£º´òÓ¡1µ½20µÄÁ¢·½±í£¬ÓúêÀ´°ü×°Ñ»·Óï¾ä */
#define incr(v,low,high) \
for((v)=(low); (v)<=(high); (v)++)
#include <stdio.h>
int main(){
int j;
incr(j,1,20)
printf("%2d %6d\n",j,j*j*j);
return 0;
Ïà¹ØÎĵµ£º
1. ö¾ÙµÄ¶¨Òåö¾ÙÀàÐͶ¨ÒåµÄÒ»°ãÐÎʽΪ£º
enum ö¾ÙÃû{ ö¾ÙÖµ±í };
ÔÚö¾ÙÖµ±íÖÐÓ¦ÂÞÁгöËùÓпÉÓÃÖµ¡£ÕâЩֵҲ³ÆΪö¾ÙÔªËØ¡£
ÀýÈ磺
¸Ãö¾ÙÃûΪweekday£¬Ã¶¾ÙÖµ¹²ÓÐ7¸ö£¬¼´Ò»ÖÜÖеÄÆßÌì¡£·²±»ËµÃ÷ΪweekdayÀàÐͱäÁ¿µÄÈ¡ÖµÖ»ÄÜÊÇÆßÌìÖеÄijһÌì¡£
2. ö¾Ù±äÁ¿µ ......
C/C++ÕÐƸµÄһЩ¸ÐÊܺ;Ñé
Ç°¶Îʱ¼ä¸Õ²Î¼ÓÁËn¶à¹«Ë¾µÄC/C++Èí¼þ¹¤³ÌʦµÄÃæÊÔ£¬ÓйúÆó£¬ÍâÆó£¬Ë½Æó£¨moto£¬·É˼¿¨¶û£¬¸ÛÍ壬ÖйúÎÀÐÇXXX£¨Õâ¸öÅ££©£©µÈµÈµÈµÈ¡£¸ÐÊܸÐÏëÆĶ࣬½üÈÕÖÕÓÚ¿ÕÏУ¬Ôڴ˱íÊöһϡ£
±¾ÈË»ù±¾Ìõ¼þ£º3Ä꿪·¢¾Ñ飬2year+ Windows development experence£¬1year+ Linux experence. ÊìϤC£¬C++£¬MFC/ ......
bcmp
ÔÐÍ£ºextern int bcmp(const void *s1, const void *s2, int n);
Ó÷¨£º#include <string.h>
¹¦ÄÜ£º±È½Ï×Ö·û´®s1ºÍs2µÄÇ°n¸ö×Ö½ÚÊÇ·ñÏàµÈ
˵Ã÷£ºÈç¹ûs1=s2»òn=0Ôò·µ»ØÁ㣬·ñÔò·µ»Ø·ÇÁãÖµ¡£bcmp²»¼ì²éNULL¡£
bcopy
ÔÐÍ£ºextern void bcopy(const void *src, void *dest, int n);
Ó÷ ......
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ......
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉÏ°Ù¶Èһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus //c++±àÒë»·¾³ÖвŻᶨÒå__cplusplus (plus¾ÍÊÇ"+"µÄÒâ˼)
extern "C" { //¸æËß±àÒëÆ÷ÏÂÃæµÄº¯ÊýÊÇcÓïÑÔº¯Êý£¨ÒòΪc++ºÍcÓïÑÔ¶Ôº¯ÊýµÄ±àÒëת»»²»Ò»Ñù£¬Ö÷ÒªÊÇc++ÖдæÔÚÖØÔØ£©
#en ......