»ªÎªC/C++±ÊÊÔÌâ2
»ªÎªC/C++±ÊÊÔÌâ2 ÊÕ²Ø
1. ij32λϵͳÏÂ, C++³ÌÐò£¬Çë¼ÆËãsizeof µÄÖµ
#include <stdio.h>
#include <malloc.h>
void Foo ( char str[100] )
{
printf("sizeof(str)=%d \n", sizeof(str) );//´Ë´¦Ê¹ÓÃchar *strÓëchar str[100]ÊÇÒ»ÑùµÄ£¬char str[100]²»Ö¸Ã÷´óС(char str[])Ò²ÐÐ,ÒòΪ±àÒëÆ÷ÊǰÑËüµ±×ö Ò»¸öÖ¸ÕëÀ´´¦ÀíµÄ
}
main()
{
char str[] = "www.ibegroup.com";
char *p1 = str ;
int n = 10;
void *p2 = malloc( 100 );
printf("sizeof(str)=%d \n", sizeof(str) );
printf("sizeof(p1)=%d \n", sizeof(p1) );
printf("sizeof(n)=%d \n", sizeof(n) );
printf("sizeof(p2)=%d \n", sizeof(p2) );
Foo(str);//Êý×éÃûÏ൱ÓÚÒ»¸öÖ¸Õ룬ָÕëµÄ´óСΪ4£¬ËùÒÔÊä³ö4¶ø²»ÊÇ17£¬ÁíÍâsizeof ÊǼÆËãÀàÐͳ¤¶ÈµÄ£¬strlen ²ÅÊǼÆËã×Ö·û´®³¤¶ÈµÄ}
}
´ð£º(1)17 (2)4 (3) 4 (4)4 (5)4
2. »Ø´ðÏÂÃæµÄÎÊÌâ
(1) Í·ÎļþÖÐµÄ ifndef/define/endif¸ÉʲôÓÃ? Ô¤´¦Àí
´ð£º·ÀֹͷÎļþ±»Öظ´ÒýÓÃ
(2) #include <filename.h> ºÍ #include "filename.h" ÓÐÊ²Ã´Çø±ð?
´ð£º
¶ÔÓÚ#include <filename.h> £¬±àÒëÆ÷´Ó±ê×¼¿â·¾¶¿ªÊ¼ËÑË÷filename.h
¶ÔÓÚ#include "filename.h" £¬±àÒëÆ÷´ÓÓû§µÄ¹¤×÷·¾¶¿ªÊ¼ËÑË÷filename.h
(3) ÔÚC++ ³ÌÐòÖе÷Óñ» C ±àÒëÆ÷±àÒëºóµÄº¯Êý£¬ÎªÊ²Ã´Òª¼Ó extern “C”ÉùÃ÷?
´ð£ºº¯ÊýºÍ±äÁ¿±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬£¬±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ¡£ÓÉÓÚ±àÒëºóµÄÃû×Ö²»Í¬£¬C++³ÌÐò²»ÄÜÖ±½Óµ÷ÓÃC º¯Êý¡£C++ÌṩÁËÒ»¸öC Á¬½Ó½»»»Ö¸¶¨·ûºÅextern“C”À´½â¾öÕâ¸öÎÊÌâ¡£
3. »Ø´ðÏÂÃæµÄÎÊÌâ
(1) ÇëÎÊÔËÐÐTest º¯Êý»áÓÐʲôÑùµÄ½á¹û?
Void GetMemory(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
´ð£ºÊä³ö“hello”
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......
#include “stdio.h”
#include “stdlib.h”
#include “time.h”
int main( void )
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* ²âÁ¿Ò ......
1£©a = a + 5; Óë a += 5£»µÄÇø±ð¡£
¶þÕßÔÚ¹ãÒåÉÏÊǵȼۡ£D.Ritchie ÔÚCÓïÑÔÖÐÒýÈ븴ºÏÔËËã·ûµÄÖ÷ҪĿµÄÊÇΪÁËÌá¸ß±àÒëµÄЧÂÊÒÔ²úÉú¸ßÖÊÁ¿µÄÖ´ÐдúÂë¡£ÒòΪÕâЩÔËËã·ûµÄ¹¦ÄÜ»ù±¾É϶¼ÄÜÓÃÒ»¶þÌõ»úÆ÷Ö¸ÁîÀ´Íê³É¡£
2£©ÔÚC++ÖÐlong Óë int µÄÇø±ð
NameDescriptionSize*Range*
char
Character or s ......
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½,ÈçºÎѧϰCºÍC++²Å²»Ã£È»,²Å²»ÊÇÂÒѧ¡£ÏëÁËÒ»ÏÂ,ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
Ò»¼ÒÖ®ÑÔ,»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC
´ó¶àÊýʱºò,ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ,²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò,¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓ ......