±¾ÊÔÌâ½öÓÃÓÚ¿¼²éC++/C³ÌÐòÔ±µÄ»ù±¾±à³Ì¼¼ÄÜ¡£ÄÚÈÝÏÞÓÚC++/C³£ÓÃÓï·¨£¬²»Éæ¼°Êý¾Ý½á¹¹¡¢Ëã·¨ÒÔ¼°Éî°ÂµÄÓï·¨¡£¿¼ÊԳɼ¨ÄÜ·´Ó³³ö¿¼ÉúµÄ±à³ÌÖÊÁ¿ÒÔ¼°¶ÔC++/CµÄÀí½â³Ì¶È£¬µ«²»ÄÜ·´Ó³¿¼ÉúµÄÖÇÁ¦ºÍÈí¼þ¿ª·¢ÄÜÁ¦¡£
±ÊÊÔʱ¼ä90·ÖÖÓ¡£Ç뿼ÉúÈÏÕæ´ðÌ⣬ÇÐÎðÇáÊÓ¡£
Ò»¡¢ÇëÌîдBOOL , float, Ö¸Õë±äÁ¿ Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä¡££¨10·Ö£©
Ìáʾ£ºÕâÀï¡°ÁãÖµ¡±¿ÉÒÔÊÇ0, 0.0 , FALSE»òÕß¡°¿ÕÖ¸Õ롱¡£ÀýÈç int ±äÁ¿ n Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾äΪ£º
if ( n == 0 )
if ( n != 0 )
ÒÔ´ËÀàÍÆ¡£
Çëд³ö BOOL flag Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä£º
Çëд³ö float x Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä£º
Çëд³ö char *p Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä£º
¶þ¡¢ÒÔÏÂΪWindows NTϵÄ32λC++³ÌÐò£¬Çë¼ÆËãsizeofµÄÖµ£¨10·Ö£©
char str[] = ¡°Hello¡± ;
char *p = str ;
int n = 10;
Çë¼ÆËã
sizeof (str ) =
sizeof ( p ) =
sizeof ( n ) = void Func ( char str[100])
{
Çë¼ÆËã
sizeof( str ) =
}
void *p = malloc( 100 );
Çë¼ÆËã
sizeof ( p ) =
Èý¡¢¼ò´ðÌ⣨25·Ö£©
1¡¢Í·ÎļþÖÐµÄ ifndef/define/endif ¸ÉʲôÓã¿
2¡¢#include
ºÍ #include ¡°filename.h¡± ÓÐʲôÇø±ð£¿
3¡¢const ÓÐʲôÓÃ;£¿£¨ÇëÖÁÉÙ˵Ã÷Á½ÖÖ£©
4¡¢ÔÚC++ ³ÌÐòÖе÷Óñ» C±àÒëÆ÷±àÒëºóµÄº¯Êý£¬ÎªÊ²Ã´Òª¼Ó extern ¡°C¡±ÉùÃ÷£¿
5¡¢Çë¼òÊöÒÔÏÂÁ½¸öforÑ»·µÄÓÅȱµã
// µÚÒ»¸ö
for (i=0; i
{
if (condition)
DoSomething();
else
DoOtherthing();
} // µÚ¶þ¸ö
if (condition)
{
for (i=0; i
DoSomething();
}
else
{
for (i=0; i
DoOtherthing();
}
Óŵ㣺
ȱµã£º
Óŵ㣺
ȱµã£º
ËÄ¡¢ÓйØÄÚ´æµÄ˼¿¼Ì⣨20·Ö£©
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
ÇëÎÊÔËÐÐTestº¯Êý»áÓÐʲôÑùµÄ½á¹û£¿
´ð£º
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
ÇëÎÊÔËÐÐTestº¯Êý»áÓÐʲôÑùµÄ½á¹û£¿
´ð£º
Void GetMemory2(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
ÇëÎÊÔËÐÐTestº¯Êý»áÓÐʲôÑùµÄ½á¹û£¿
´ð£º
void Test(void)
{
char *str = (char *) malloc(100);
strcpy(str, ¡°hello¡±);
free(str);
if(str != NULL)
{
strcpy(str, ¡°world¡±);
printf(str);
}
}
ÇëÎÊÔËÐÐTestº¯Êý»áÓÐʲôÑùµÄ½á¹û£¿
´ð£º
Îå¡¢±àдstrcpyº¯Êý£¨10·Ö£©
ÒÑÖªstrcpyº¯ÊýµÄÔÐÍÊÇ
char *strcpy(char *strDest, const char *strSrc);
ÆäÖÐstrDestÊÇÄ¿µÄ×Ö·û´®£¬strSrcÊÇÔ´×Ö·û´®¡£
£¨1£©²»µ÷ÓÃC++/CµÄ×Ö·û´®¿âº¯Êý£¬Çë±àдº¯Êý strcpy
£¨2£©strcpyÄÜ°ÑstrSrcµÄÄÚÈݸ´ÖƵ½strDest£¬ÎªÊ²Ã´»¹Òªchar * ÀàÐ͵ķµ»ØÖµ£¿
Áù¡¢±àдÀàStringµÄ¹¹Ô캯Êý¡¢Îö¹¹º¯ÊýºÍ¸³Öµº¯Êý£¨25·Ö£©
ÒÑÖªÀàStringµÄÔÐÍΪ£º
class String
{
public:
String(const char *str = NULL); // ÆÕͨ¹¹Ô캯Êý
String(const String &other); // ¿½±´¹¹Ô캯Êý
~ String(void); // Îö¹¹º¯Êý
String & operate =(const String &other); // ¸³Öµº¯Êý
private:
char *m_data; // ÓÃÓÚ±£´æ×Ö·û´®
};
Çë±àдStringµÄÉÏÊö4¸öº¯Êý¡£
¸½Â¼C £ºC++/CÊÔÌâµÄ´ð°¸ÓëÆÀ·Ö±ê×¼
Ò»¡¢ÇëÌîдBOOL , float, Ö¸Õë±äÁ¿ Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä¡££¨10·Ö£©
Çëд³ö BOOL flag Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä¡££¨3·Ö£©
±ê×¼´ð°¸£º
if ( flag )
if ( !flag ) ÈçÏÂд·¨¾ùÊô²»Á¼·ç¸ñ£¬²»µÃ·Ö¡£
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)
if (flag == 0)
Çëд³ö float x Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä¡££¨4·Ö£©
±ê×¼´ð°¸Ê¾Àý£º
const float EPSINON = 0.00001;
if ((x >= ¨C EPSINON) && (x <= EPSINON)
²»¿É½«¸¡µã±äÁ¿Óá°==¡±»ò¡°£¡=¡±ÓëÊý×ֱȽϣ¬Ó¦¸ÃÉ跨ת»¯³É¡°>=¡±»ò¡°<=¡±´ËÀàÐÎʽ¡£
ÈçÏÂÊÇ´íÎóµÄд·¨£¬²»µÃ·Ö¡£
if (x == 0.0)
if (x != 0.0)
Çëд³ö char *p Óë¡°ÁãÖµ¡±±È½ÏµÄ if Óï¾ä¡££¨3·Ö£©
±ê×¼´ð°¸£º
if (p == NULL)
if (p != NULL) ÈçÏÂд·¨¾ùÊô²»Á¼·ç¸ñ£¬²»µÃ·Ö¡£
if (p == 0)
if (p != 0)
if (p)
if (!)
¶þ¡¢ÒÔÏÂΪWindows NTϵÄ32λC++³ÌÐò£¬Çë¼ÆËãsizeofµÄÖµ£¨10·Ö£©
char str[] = ¡°Hello¡± ;
char *p = str ;
int n = 10;
Çë¼ÆËã
sizeof (str ) = 6 £¨2·Ö£©
sizeof ( p ) = 4 £¨2·Ö£©
sizeof ( n ) = 4 £¨2·Ö£© void Func ( char str[100])
{
Çë¼ÆËã
sizeof( str ) = 4 £¨2·Ö£©
}
void *p = malloc( 100 );
Çë¼ÆËã
sizeof ( p ) = 4 £¨2·Ö£©
Èý¡¢¼ò´ðÌ⣨25·Ö£©
1¡¢Í·ÎļþÖÐµÄ ifndef/define/endif ¸ÉʲôÓã¿£¨5·Ö£©
´ð£º·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£
2¡¢#include
ºÍ #include ¡°filename.h¡± ÓÐʲôÇø±ð£¿£¨5·Ö£©
´ð£º¶ÔÓÚ#include
£¬±àÒëÆ÷´Ó±ê×¼¿â·¾¶¿ªÊ¼ËÑË÷ filename.h
¶ÔÓÚ#include ¡°filename.h¡± £¬±àÒëÆ÷´ÓÓû§µÄ¹¤×÷·¾¶¿ªÊ¼ËÑË÷ filename.h
3¡¢const ÓÐʲôÓÃ;£¿£¨ÇëÖÁÉÙ˵Ã÷Á½ÖÖ£©£¨5·Ö£©
´ð£º£¨1£©¿ÉÒÔ¶¨Òå const ³£Á¿
£¨2£©const¿ÉÒÔÐÞÊκ¯ÊýµÄ²ÎÊý¡¢·µ»ØÖµ£¬ÉõÖÁº¯ÊýµÄ¶¨ÒåÌå¡£±»constÐÞÊεĶ«Î÷¶¼Êܵ½Ç¿ÖƱ£»¤£¬¿ÉÒÔÔ¤·ÀÒâÍâµÄ±ä¶¯£¬ÄÜÌá¸ß³ÌÐòµÄ½¡×³ÐÔ¡£
4¡¢ÔÚC++ ³ÌÐòÖе÷Óñ» C±àÒëÆ÷±àÒëºóµÄº¯Êý£¬ÎªÊ²Ã´Òª¼Ó extern ¡°C¡±£¿ £¨5·Ö£©
´ð£ºC++ÓïÑÔÖ§³Öº¯ÊýÖØÔØ£¬CÓïÑÔ²»Ö§³Öº¯ÊýÖØÔØ¡£º¯Êý±»C++±àÒëºóÔÚ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬¡£¼ÙÉèij¸öº¯ÊýµÄÔÐÍΪ£º void foo(int x, int y);
¸Ãº¯Êý±»C±àÒëÆ÷±àÒëºóÔÚ¿âÖеÄÃû×ÖΪ_foo£¬¶øC++±àÒëÆ÷Ôò»á²úÉúÏñ_foo_int_intÖ®ÀàµÄÃû×Ö¡£
C++ÌṩÁËCÁ¬½Ó½»»»Ö¸¶¨·ûºÅextern¡°C¡±À´½â¾öÃû×ÖÆ¥ÅäÎÊÌâ¡£
5¡¢Çë¼òÊöÒÔÏÂÁ½¸öforÑ»·µÄÓÅȱµã£¨5·Ö£©
for (i=0; i
{
if (condition)
DoSome