typedef void(*)() voidFuncPtr;
*((voidFuncPtr)0x100000)();
2£¬ÒÑÖªÒ»¸öÊý×étable£¬ÓÃÒ»¸öºê¶¨Ò壬Çó³öÊý¾ÝµÄÔªËØ¸öÊý #define NTBL
#define NTBL (sizeof(table)/sizeof(table[0]))
ÃæÊÔÌâ: Ïß³ÌÓë½ø³ÌµÄÇø±ðºÍÁªÏµ? Ïß³ÌÊÇ·ñ¾ßÓÐÏàͬµÄ¶ÑÕ»? dllÊÇ·ñÓжÀÁ¢µÄ¶ÑÕ»? ½ø³ÌÊÇËÀµÄ£¬Ö»ÊÇһЩ×ÊÔ´µÄ¼¯ºÏ£¬ÕæÕýµÄ³ÌÐòÖ´Ðж¼ÊÇÏß³ÌÀ´Íê³ÉµÄ£¬³ÌÐòÆô¶¯µÄʱºò²Ù×÷ϵͳ¾Í°ïÄã´´½¨ÁËÒ»¸öÖ÷Ï̡߳£
ÿ¸öÏß³ÌÓÐ×Ô¼ºµÄ¶ÑÕ»¡£
DLL ÖÐÓÐûÓжÀÁ¢µÄ¶ÑÕ»£¬Õâ¸öÎÊÌâ²»ºÃ»Ø´ð£¬»òÕß˵Õâ¸öÎÊÌâ±¾ÉíÊÇ·ñÓÐÎÊÌâ¡£ÒòΪDLLÖеĴúÂëÊDZ»Ä³Ð©Ïß³ÌËùÖ´ÐУ¬Ö»ÓÐÏß³ÌÓµÓжÑÕ»£¬Èç¹ûDLLÖеĴúÂëÊÇ EXEÖеÄÏß³ÌËùµ÷Óã¬ÄÇôÕâ¸öʱºòÊDz»ÊÇ˵Õâ¸öDLLûÓÐ×Ô¼º¶ÀÁ¢µÄ¶ÑÕ»£¿Èç¹ûDLLÖеĴúÂëÊÇÓÉDLL×Ô¼º´´½¨µÄÏß³ÌËùÖ´ÐУ¬ÄÇôÊDz»ÊÇ˵DLLÓжÀÁ¢µÄ¶ÑÕ»£¿
ÒÔÉϽ²µÄÊǶÑÕ»£¬Èç¹û¶ÔÓÚ¶ÑÀ´Ëµ£¬Ã¿¸öDLLÓÐ×Ô¼ºµÄ¶Ñ£¬ËùÒÔÈç¹ûÊÇ´ÓDLLÖж¯Ì¬·ÖÅäµÄÄڴ棬×îºÃÊÇ´ÓDLLÖÐɾ³ý£¬Èç¹ûÄã´ÓDLLÖзÖÅäÄڴ棬ȻºóÔÚEXEÖУ¬»òÕßÁíÍâÒ»¸öDLLÖÐɾ³ý£¬ºÜÓпÉÄܵ¼Ö³ÌÐò±ÀÀ£
unsigned short A = 10; printf(\
char c=128;
printf(\
Êä³ö¶àÉÙ£¿²¢·ÖÎö¹ý³Ì
µÚÒ»Ì⣬¡«A £½0xfffffff5,intÖµ Ϊ£11£¬µ«Êä³öµÄÊÇuint¡£ËùÒÔÊä³ö4294967285 µÚ¶þÌ⣬c£½0x10,Êä³öµÄÊÇint£¬×î¸ßλΪ1£¬ÊǸºÊý£¬ËùÒÔËüµÄÖµ¾ÍÊÇ0x00µÄ²¹Âë¾ÍÊÇ128£¬ËùÒÔÊä³ö£128¡£
ÕâÁ½µÀÌâ¶¼ÊÇÔÚ¿¼²ì¶þ½øÖÆÏòint»òuintת»»Ê±µÄ×î¸ßλ´¦Àí¡£
·ÖÎöÏÂÃæµÄ³ÌÐò£º
void GetMemory(char **p,int num) {
*p=(char *)malloc(num); }
int main() {
char *str=NULL;
GetMemory(&str,100);
strcpy(str,\
free(str);
if(str!=NULL) {
strcpy(str,\}
printf(\getchar();
}
ÎÊÊä³ö½á¹ûÊÇʲô£¿Ï£Íû´ó¼ÒÄÜ˵˵ÔÒò£¬ÏÈллÁË
Êä³östr is world¡£
free Ö»ÊÇÊͷŵÄstrÖ¸ÏòµÄÄÚ´æ¿Õ¼ä,Ëü±¾ÉíµÄÖµ»¹ÊÇ´æÔÚµÄ.
ËùÒÔfreeÖ®ºó£¬ÓÐÒ»¸öºÃµÄϰ¹ß¾ÍÊǽ«str=NULL.
´ËʱstrÖ¸Ïò¿Õ¼äµÄÄÚ´æÒѱ»»ØÊÕ,Èç¹ûÊä³öÓï¾ä֮ǰ»¹´æÔÚ·ÖÅä¿Õ¼äµÄ²Ù×÷µÄ»°,Õâ¶Î´æ´¢¿Õ¼äÊÇ¿ÉÄܱ»ÖØÐ·ÖÅ䏸ÆäËû±äÁ¿µÄ,
¾¡¹ÜÕâ¶Î³ÌÐòȷʵÊÇ´æÔÚ´ó´óµÄÎÊÌ⣨ÉÏÃæ¸÷λÒѾ˵µÃºÜÇå³þÁË£©£¬µ«ÊÇͨ³£»á´òÓ¡³öworldÀ´¡£
ÕâÊÇÒòΪ£¬½ø³ÌÖеÄÄÚ´æ¹ÜÀíÒ»°ã²»ÊÇÓɲÙ×÷ϵͳÍê³ÉµÄ£¬¶øÊÇÓɿ⺯Êý×Ô¼ºÍê³ÉµÄ¡£ µ±ÄãmallocÒ»¿éÄÚ´æµÄʱºò£¬¹ÜÀí¿âÏò²Ù×÷ϵͳÉêÇëÒ»¿é¿Õ¼ä£¨¿ÉÄÜ»á±ÈÄãÉêÇëµÄ´óһЩ£©£¬È»ºóÔÚÕâ¿é¿Õ¼äÖмǼһЩ¹ÜÀíÐÅÏ¢£¨Ò»°ãÊÇÔÚÄãÉêÇëµÄÄÚ´æÇ°ÃæÒ»µã£©£¬²¢½«¿ÉÓÃÄÚ´æµÄµØÖ··µ»Ø¡£µ«ÊÇÊÍ·ÅÄÚ´æµÄʱºò£¬¹ÜÀí¿âͨ³£¶¼²»»á½«Äڴ滹¸ø²Ù×÷ϵͳ£¬Òò´ËÄãÊÇ¿ÉÒÔ¼ÌÐø·ÃÎÊÕâ¿éµØÖ·µÄ£¬Ö»²»¹ý¡£¡£¡£¡£¡£¡£¡£¡£Â¥É϶¼Ëµ¹ýÁË£¬×îºÃ±ðÕâô¸É¡£
char a[10],strlen(a)ΪʲôµÈÓÚ15£¿ÔËÐеĽá¹û
#include \#include \
void main() {
char aa[10];
printf(\}
sizeof()ºÍ³õ²»³õʼ»¯£¬Ã»ÓйØÏµ£» strlen()ºÍ³õʼ»¯Óйء£
char (*str)[20];/*strÊÇÒ»¸öÊý×éÖ¸Õ룬¼´Ö¸ÏòÊý×éµÄÖ¸Õ룮*/
char *str[20];/*strÊÇÒ»¸öÖ¸ÕëÊý×飬ÆäÔªËØÎªÖ¸ÕëÐÍÊý¾Ý£®*/
long a=0x801010; a+5=?
0x801010Óöþ½øÖƱíʾΪ£º¡°1000 0000 0001 0000 0001 0000¡±£¬Ê®½øÖƵÄֵΪ8392720£¬ÔÙ¼ÓÉÏ5¾ÍÊÇ8392725ÂÞ 1)¸ø¶¨½á¹¹struct A {
char t:4; char k:4;
unsigned short i:8; unsigned long m; };ÎÊsizeof(A) = ? ¸ø¶¨½á¹¹struct A {
char t:4; 4λ
char k:4; 4λ
unsigned short i:8; 8λ
unsigned long m; // Æ«ÒÆ2×Ö½Ú±£Ö¤4×Ö½Ú¶ÔÆë
}; // ¹²8×Ö½Ú
2)ÏÂÃæµÄº¯ÊýʵÏÖÔÚÒ»¸öÊýÉϼÓÒ»¸öÊý£¬ÓÐʲô´íÎó£¿Çë¸ÄÕý¡£ int add_n ( int n ) {
static int i = 100; i += n; return i; }
µ±ÄãµÚ¶þ´Îµ÷ÓÃʱµÃ²»µ½ÕýÈ·µÄ½á¹û£¬ÄѵÀÄãд¸öº¯Êý¾ÍÊÇΪÁ˵÷ÓÃÒ»´Î£¿ÎÊÌâ¾Í³öÔÚ staticÉÏ£¿
// °ïæ·ÖÎöһϠ#include #include #include #include #include
#include
typedef struct AA {
int b1:5; int b2:2; }AA;
void main()
{
AA aa;
char cc[100];
strcpy(cc,\memcpy(&aa,cc,sizeof(AA)); cout << aa.b1 < cout << aa.b2 < }
´ð°¸ÊÇ -16ºÍ£±
Ê×ÏÈsizeof(AA)µÄ´óСΪ4,b1ºÍb2·Ö±ðÕ¼5bitºÍ2bit. ¾¹ýstrcpyºÍmemcpyºó,aaµÄ4¸ö×Ö½ÚËù´æ·ÅµÄÖµÊÇ: 0,1,2,3µÄASCÂ룬¼´00110000,00110001,00110010,00110011 ËùÒÔ£¬×îºóÒ»²½£ºÏÔʾµÄÊÇÕ⣴¸ö×Ö½ÚµÄǰ£µÎ»£¬ºÍÖ®ºóµÄ£²Î» ·Ö±ðΪ£º10000,ºÍ01
ÒòΪintÊÇÓÐÕý¸ºÖ®·Ö ËùÒÔ£º´ð°¸ÊÇ-16ºÍ£±
Çóº¯Êý·µ»ØÖµ£¬ÊäÈëx=9999; int func £¨ x £© {
int countx = 0; while ( x ) {
countx ++; x = x&(x-1); }
return countx; }
½á¹ûÄØ£¿
ÖªµÀÁËÕâÊÇͳ¼Æ9999µÄ¶þ½øÖÆÊýÖµÖÐÓжàÉÙ¸ö1µÄº¯Êý£¬ÇÒÓÐ 9999£½9¡Á1024£«512£«256£«15
9¡Á1024Öк¬ÓÐ1µÄ¸öÊýΪ2£» 512Öк¬ÓÐ1µÄ¸öÊýΪ1£» 256Öк¬ÓÐ1µÄ¸öÊýΪ1£» 15Öк¬ÓÐ1µÄ¸öÊýΪ4£»
¹Ê¹²ÓÐ1µÄ¸öÊýΪ8£¬½á¹ûΪ8¡£
1000 - 1 = 0111£¬ÕýºÃÊÇÔÊýÈ¡·´¡£Õâ¾ÍÊÇÔÀí¡£ ÓÃÕâÖÖ·½·¨À´Çó1µÄ¸öÊýÊǺÜЧÂʺܸߵġ£ ²»±ØÈ¥Ò»¸öÒ»¸öµØÒÆÎ»¡£Ñ»·´ÎÊý×îÉÙ¡£
int a,b,c Çëдº¯ÊýʵÏÖC=a+b ,²»¿ÉÒԸıäÊý¾ÝÀàÐÍ,È罫c¸ÄΪlong int,¹Ø¼üÊÇÈçºÎ´¦ÀíÒç³öÎÊÌâ
bool add (int a, int b,int *c) {