Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[C/C++ Digestion] – ×Ôµ×ÏòÉϵØÌ½¾¿Ð麯Êý


[C/C++ Digestion] –
×Ôµ×ÏòÉϵØÌ½¾¿Ð麯Êý
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-05-19
»·¾³£º
Visual C++ Express
2008
ÉùÃ÷£º±¾ÎÄ·¢±íÔÚ
csdn
²©¿Í£¬ÈçÓÐ×ªÔØ£¬Çë×¢Ã÷³ö´¦
 
[1]C++
¶ÔÏóÄ£ÐÍ»ù´¡
Ò»¸öÀàÖпÉÒÔ°üº¬¾²Ì¬Êý¾Ý³ÉÔ±¡¢¾²Ì¬³ÉÔ±º¯Êý¡¢·Ç¾²Ì¬³ÉÔ±º¯ÊýºÍ·Ç¾²Ì¬Êý¾Ý³ÉÔ±ÒÔ¼°Ð麯Êý¡£ÆäÖУ¬Ç°ÈýÕߣ¨¾²Ì¬Êý¾Ý³ÉÔ±¡¢¾²Ì¬³ÉÔ±º¯Êý¡¢·Ç¾²Ì¬³ÉÔ±º¯Êý£©¶¼²¢Ã»Óб»·Åµ½¶ÔÏóµÄ²¼¾ÖÖУ¬¿ÉÒÔ´ÓÒÔÏÂÁ½¶Î´úÂëµÃµ½ÑéÖ¤£º
#include <iostream>
using namespace std;

class Base {
};

int main(){
Base a;
cout << sizeof (a) << endl;// Êä³ö1
return 0;
}
ÉÏÊöµÄ
Base
ÀàÊÇÒ»¸ö¿ÕÀ࣬ռ¾ÝÁËÒ»¸ö×Ö½ÚµÄÄÚ´æ¿Õ¼ä£¬ÕâÊÇΪÁ˱£Ö¤Ã¿¸öÀàʵÀý»¯ºó¶¼ÓµÓжÀÒ»ÎÞ¶þµÄÄÚ´æ¿Õ¼ä¡£½Ó×ÅÎÒÃÇÍù
Base
ÀàÖÐÌí¼Ó¾²Ì¬Êý¾Ý³ÉÔ±¡¢¾²Ì¬³ÉÔ±º¯ÊýºÍ·Ç¾²Ì¬³ÉÔ±º¯Êý£º
#include <iostream>
using namespace std;

class Base {
public :
Base(){}
~Base(){}
static int v1;
static void f1(){}
void f2(){}
};

int main(){
Base a;
cout << sizeof (a) << endl;// ÈÔÈ»Êä³ö1
return 0;
}
ÔÚ¾­¹ýÄÚÈÝÌî³äºó£¬
Base
ÀàµÄʵÀý
a
ÈÔÈ»½öÕ¼¾Ý
1
¸ö×Ö½ÚµÄÄÚ´æ¿Õ¼ä£¬Óë¿ÕÀàÎÞÒ죬Õâ˵Ã÷Á˾²Ì¬Êý¾Ý³ÉÔ±¡¢¾²Ì¬³ÉÔ±º¯ÊýºÍ·Ç¾²Ì¬³ÉÔ±º¯Êý²¢Î´±»·ÅÔÚ¶ÔÏóµÄÄÚ´æ²¼¾Öµ±ÖÐ
¡£
½ÓÏÂÀ´ÍùÀàÖÐÌí¼Ó·Ç¾²Ì¬Êý¾Ý³ÉÔ±£º
#include <iostream>
using namespace std;

class Base {
public :
int a;
int b;
};

int main(){
Base a;
cout << sizeof (a) << endl;// Êä³ö8
cout << hex << &a << endl;// Êä³ö0012F 3CC
cout << hex << &a.a << endl;// Êä³ö0012F 3CC
cout << hex << &a.b << endl;// Êä³ö0012F 3D0
return 0;
}
´ÓÉÏÃæµÄ´úÂë¿ÉÒÔ¿´³ö£ºÒ»£¬·Ç¾²Ì¬Êý¾Ý³ÉÔ±Êǻᱻ·Åµ½¶ÔÏóµÄÄÚ´æ²¼¾ÖÖУ»¶þ£¬Êý¾Ý³ÉÔ±ÊǸù¾ÝÉùÃ÷˳ÐòÓÐÐòµØÔÚÄÚ´æÖнøÐзֲ¼µÄ£»Èý£¬ÔÚûÓÐÐ麯ÊýµÄÇé¿ö϶ÔÏóËùÕ¼¾ÝµÄÄÚ´æ´óС¾ÍÊÇÊý¾Ý³ÉÔ±ËùÕ¼¾ÝµÄ¿Õ¼äÖ®ºÍ¡£²¼¾ÖÈçÏÂͼ£º
a
b
ÄÇôÈç¹ûÌí¼ÓÁËÐ麯ÊýÒÔºóÄØ£¿ÏÈ¿´Ò»¶Î´úÂ룺
#include <iostream>
usin


Ïà¹ØÎĵµ£º

c/c++ ÄÚ´æ¶ÔÆë sizeof

   һƪ½²¶ÔÆë±È½ÏºÃµÄÎÄÕ£¬×ªÌùÈçÏÂ:
´óÖ±ê×¢Ò»¶þ:
1.ÄÚ´æ¶ÔÆë:¼ÆËã»úϵͳ¶Ô»ù±¾ÀàÐÍÊý¾ÝÔÚÄÚ´æÖдæ·ÅµÄλÖÃÓÐÏÞÖÆ£¬ËüÃÇ»áÒªÇóÕâЩÊý¾ÝµÄÊ×µØÖ·µÄÖµÊÇij¸öÊýk(ͨ³£ËüΪ4»ò8)µÄ±¶ÊýkÔò±»³ÆÎª¸ÃÊý¾ÝÀàÐÍµÄ¶ÔÆëÄ£Êý(alignment modulus)
2.²»Í¬±àÒëÆ÷ĬÈϵÄ×î´ó¶ÔÆë×Ö½ÚÊýÊDz»Ò»ÑùµÄ,±ÈÈçvc==8,gcc==4,¿ÉÒÔͨ¹ ......

c/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æÇé¿ö ÎÄ×Ö³£Á¿Çø

Ê×ÏÈ¿´ÏÂÏÂÃæÕâ¶Î£º
int main()
{
char *name = "fengkewei";
char name1[] = "fengkewei";
char *name2 = "fengkewei";
char *name3 = "woaifengkewei";
int i = 10;
int j = 10;
int k = 11;
return 0;
}
ÈôÄú¾õµÃËüÃÇÓ¦¸Ã¶¼±£´æÔÚÄÚ´æÖеÄÒ»¿éµØ·½£¬ÄÇÇëÍùÏ¿´¡£¡£¡£¡£
ÏÂÃæÊDZàÒëÆ÷Ϊ¸÷¸ö±äÁ¿·ÖÅäµÄÄÚ´æµØ ......

½â¾öCºÍC++ÖÐÉú³ÉµÄEXEÎļþÖ´Ðк󴰿ھÍÏûʧÁË£¡

Óô˷¨Ç°È·±£ÄãµÄCÔ´´úÂëÊÇÎÞ´íµÄ~~
½â¾ö°ì·¨£º
C:
ÔÚÖ÷º¯Êýºó¼Ógetch()»òch=getch();    (ÈóÌÐòµÈ´ýÄã°´ÏÂÈÎÒâ¼ü£¬ÔÙ¼ÌÐøÖ´ÐÐÏÂÃæµÄÓï¾ä)
C++:
1.°üº¬Í·Îļþʱ£º #include   <stdlib.h>/*header file£¬ÒòΪÔÚstdlib.hÍ·ÎļþÖж¨ÒåÁËsystem()º¯Êý*/
2.ÔÚ×îºóÒ»¾ä¼ÓÉÏ£ºsystem("PAUSE ......

ANSI CÓ¦ÓóÌÐòÉè¼Æ

1£¬´«Öµµ÷ÓÃ
ÿ¸öʵ²Î¶¼ÊÇÒ»¸ö±í´ïʽ£¬¶¼ÓÐÒ»¸öÖµ¡£Í¨¹ý¸´ÖƱí´ïʽֵµÄ·½Ê½£¬½«Æä´æ´¢ÔÚÒ»¸öÁÙʱµ¥ÔªÖУ¬²¢°Ñ¶ÔÓ¦µÄÐÎʽ²ÎÊý×÷ΪÕâ¸öµ¥ÔªµÄ±êʶ·û¡£¸Ã´«µÝʵ²Î·½·¨±»³Æ×÷´«Öµµ÷Óá£call by value
2£¬Ô¤´¦ÀíÆ÷
±àÒëÆ÷°Ñ³ÌÐòת»»ÎªÄ¿±ê´úÂë֮ǰÏÈÓÉCÔ¤´¦ÀíÆ÷´¦ÀíÔ´Îļþ¡£
CÔ´´úÂë->Ô¤´¦ÀíÆ÷->±àÒëÆ÷
Ô¤´¦ÀíÆ÷Ö´Ðг ......

S3C24XXÌåϵµÄLinux GPIO¿ØÖÆÏà¹ØAPIʵÏÖ

GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀ­µç×è(ÉÏÀ­£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ­£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ­»òÏÂÀ­µç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ