Ö¸ÕëºÍÒýÓõÄÇø±ð
Ö¸ÕëÖ¸ÏòÒ»¿éÄڴ棬ËüµÄÄÚÈÝÊÇÖ¸ÏòÄÚ´æµÄµØÖ·£»ÒýÓÃÊÇijÄÚ´æµÄ±ðÃû
ÒýÓÃʹÓÃÊÇÎÞÐè½âÒýÓã¬Ö¸ÕëÐè½âÒýÓÃ
ÒýÓò»ÄÜΪ¿Õ£¬Ö¸Õë¿ÉÒÔΪ¿Õ
ÒýÓÃÔÚ¶¨ÒåÊDZ»³õʼ»¯Ò»´Î£¬Ö®ºó²»¿É±ä£»Ö¸Õë¿É±ä
³ÌÐòΪָÕë±äÁ¿·ÖÅäÄÚ´æÇøÓò£¬¶øÒýÓò»ÐèÒª·ÖÅäÄÚ´æÇøÓò
memcpyºÍstrcpyµÄÇø±ð
memcpyÓÃÀ´Äڴ濽±´µÄ£¬ËüÓÐÖ¸¶¨µÄ¿½±´Êý¾Ý³¤¶È£¬Ëû¿ÉÒÔ¿½±´ÈκÎÊý¾ÝÀàÐ͵ĶÔÏó
StrcpyËüÖ»ÄÜÈ¥¿½±´×Ö·û´®£¬ËüÓöµ½¡¯\0¡ä½áÊø¿½±´
newºÍmallocµÄÇø±ð£¬freeºÍdeleteµÄÇø±ð
mallocÓëfreeÊÇC++/CÓïÑԵıê×¼¿âº¯Êý£¬new/deleteÊÇC++µÄÔËËã·û¡£ËüÃǶ¼¿ÉÓÃÓÚÉêÇ붯̬ÄÚ´æºÍÊÍ·ÅÄÚ´æ¡£
¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ĶÔÏó¶øÑÔ£¬¹âÓÃmaloc/freeÎÞ·¨Âú×㶯̬¶ÔÏóµÄÒªÇ󡣶ÔÏóÔÚ´´½¨µÄͬʱҪ×Ô¶¯Ö´Ðй¹Ô캯Êý£¬¶ÔÏóÔÚÏûÍö֮ǰҪ×Ô¶¯Ö´ÐÐÎö¹¹º¯Êý¡£ÓÉÓÚmalloc/freeÊǿ⺯Êý¶ø²»ÊÇÔËËã·û£¬²»ÔÚ±àÒëÆ÷¿ØÖÆȨÏÞÖ®ÄÚ£¬²»Äܹ»°ÑÖ´Ðй¹Ô캯ÊýºÍÎö¹¹º¯ÊýµÄÈÎÎñÇ¿¼ÓÓÚmalloc/free¡£
Òò´ËC++ÓïÑÔÐèÒªÒ»¸öÄÜÍê³É¶¯Ì¬ÄÚ´æ·ÖÅäºÍ³õʼ»¯¹¤×÷µÄÔËËã·ûnew£¬ÒÔ¼°Ò»¸öÄÜÍê³ÉÇåÀíÓëÊÍ·ÅÄڴ湤×÷µÄÔËËã·ûdelete¡£×¢Òânew/delete²»Êǿ⺯Êý¡£
structºÍclassµÄÇø±ð
1.³ÉÔ±±äÁ¿
½á¹¹ÔÚĬÈÏÇé¿öϵijÉÔ±Êǹ«¹²(public)µÄ,
¶øÀàÔÚĬÈÏÇé¿öϵijÉÔ±ÊÇ˽ÓÐ(private)µÄ¡£
2.´æ´¢
struct±£Ö¤³ÉÔ±°´ÕÕÉùÃ÷˳ÐòÔÚÄÚ´æÖд洢¡£class²»±£Ö¤µÈµÈ
3.¼Ì³Ð
struct A { }£»
class B : A{ }; //private¼Ì³Ð
struct C : B{ }£» //public¼Ì³Ð
ÕâÊÇÓÉÓÚclassĬÈÏÊÇprivate£¬structĬÈÏÊÇpublic¡£
structÓëunionµÄÇø±ð.(Ò»°ã¼Ù¶¨ÔÚ32λ»úÆ÷ÉÏ)
1£®Ò»¸öunionÀàÐ͵ıäÁ¿£¬ËùÓгÉÔ±±äÁ¿¹²ÏíÒ»¿éÄڴ棬¸ÃÄÚ´æµÄ´óСÓÐÕâЩ³ÉÔ±±äÁ¿Ö㤶È×î´óµÄÒ»¸öÀ´¾ö¶¨£¬structÖгÉÔ±±äÁ¿Äڴ涼ÊǶÀÁ¢µÄ
2£®union·ÖÅäµÄÄÚ´æÊÇÁ¬ÐøµÄ£¬¶østruct²»Äܱ£Ö¤·ÖÅäµÄÄÚ´æÊÇÁ¬ÐøµÄ
¶ÓÁкÍÕ»ÓÐʲôÇø±ð£¿
¶ÓÁÐÏȽøÏȳö£¬Õ»ºó½øÏȳö
Ö¸ÕëÔÚ16λ»ú¡¢32λ»ú¡¢64λ»ú·Ö±ðÕ¼ÓöàÉÙ¸ö×Ö½Ú
16λ»ú 2×Ö½Ú
32λ»ú 4×Ö½Ú
64λ»ú 8×Ö½Ú
ÈçºÎÒýÓÃÒ»¸öÒѾ¶¨Òå¹ýµÄÈ«¾Ö±äÁ¿£¿
extern
¿ÉÒÔÓÃÒýÓÃÍ·ÎļþµÄ·½Ê½£¬Ò²¿ÉÒÔÓÃextern¹Ø¼ü×Ö£¬Èç¹ûÓÃÒýÓÃÍ·Îļþ·½Ê½À´ÒýÓÃij¸öÔÚÍ·ÎļþÖÐÉùÃ÷µÄÈ«¾Ö±äÀí£¬¼Ù¶¨Ä㽫ÄǸö±äд´íÁË£¬ÄÇôÔÚ±àÒëÆÚ¼ä»á±¨´í£¬Èç¹ûÄãÓÃextern·½Ê½ÒýÓÃʱ£¬¼Ù¶¨Äã·¸ÁËͬÑùµÄ´íÎó£¬ÄÇôÔÚ±àÒëÆڼ䲻»á±¨´í£¬¶øÔÚÁ¬½ÓÆڼ䱨´í
È«¾Ö±äÁ¿¿É²»¿ÉÒÔ¶¨ÒåÔڿɱ»¶à¸ö.CÎļþ°üº¬µÄÍ·ÎļþÖУ¿ÎªÊ²Ã´£¿
¿ÉÒÔ£¬ÔÚ²»Í¬µÄCÎļþÖÐÒÔstaticÐÎʽÀ´ÉùÃ÷ͬÃûÈ«¾Ö±äÁ¿¡£
¿ÉÒÔÔÚ²»Í¬µÄCÎļþÖÐÉùÃ÷ͬÃûµÄÈ«¾Ö±äÁ¿£¬Ç°ÌáÊÇÆäÖÐÖ»ÄÜÓÐÒ»¸öCÎļþÖжԴ˱äÁ¿¸³³õÖµ£¬´ËʱÁ¬½Ó²»»á³ö´í
Óï¾äfor( £»1 £»)ÓÐʲôÎÊÌ⣿ËüÊÇʲôÒâ˼£¿
for( £»1 £»)ºÍwhile(1)Ïàͬ¡£
do¡¡whileºÍwhile¡¡doÓÐʲôÇø±ð£¿
Ç°Ò»¸öÑ»·Ò»±éÔÙÅжϣ¬ºóÒ»¸öÅжÏÒÔºóÔÙÑ»·
Çëд³öÏÂÁдúÂëµÄÊä³öÄÚÈÝ
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf(¡°b£¬c£¬d£º%d£¬%d£¬%d¡±£¬b£¬c£¬d£©;
return 0;
}
10£¬12£¬120
¶ÔÓÚÒ»¸öƵ·±Ê¹ÓõĶÌСº¯Êý,ÔÚ
CÓïÑÔÖÐÓ¦ÓÃʲôʵÏÖ,ÔÚC++ÖÐÓ¦ÓÃʲôʵÏÖ
cÓú궨Ò壬c++ÓÃinline
main º¯ÊýÖ´ÐÐÒÔÇ°£¬»¹»áÖ´ÐÐʲô´úÂ룿
È«¾Ö¶ÔÏóµÄ¹¹Ô캯Êý»áÔÚmain º¯Êý֮ǰִÐС£
main Ö÷º¯ÊýÖ´ÐÐÍê±Ïºó£¬ÊÇ·ñ¿ÉÄÜ»áÔÙÖ´ÐÐÒ»¶Î´úÂ룬¸ø³ö˵Ã÷£¿
¿ÉÒÔ£¬¿ÉÒÔÓÃon_exit ×¢²áÒ»¸öº¯Êý£¬Ëü»áÔÚmain Ö®ºóÖ´ÐÐint fn1(void), fn2(void), fn3(void), fn4 (void);
void main( void )
{
String str(¡°zhanglin¡±);
on_exit( fn1 );
on_exit( fn2 );
on_exit( fn3 );
on_exit( fn4 );
printf( ¡°This is executed first.\n¡± );
}
int fn1()
{
printf( ¡°next.\n¡± );
return 0;
}
int fn2()
{
printf( ¡°executed ¡± );
return 0;
}
int fn3()
{
printf( ¡°is ¡± );
return 0;
}
int fn4()
{
printf( ¡°This ¡± );
return 0;
}
The on_exit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to on_exit create a register of functions that are executed in LIFO (last-in-first-out) order. The functions passed to on_exit cannot take parameters.
This is executed next.
¾Ö²¿±äÁ¿ÄÜ·ñºÍÈ«¾Ö±äÁ¿ÖØÃû£¿
ÄÜ£¬¾Ö²¿»áÆÁ±ÎÈ«¾Ö¡£ÒªÓÃÈ«¾Ö±äÁ¿£¬ÐèҪʹÓá±::¡±
¾Ö²¿±äÁ¿¿ÉÒÔÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÔÚº¯ÊýÄÚÒýÓÃÕâ¸ö±äÁ¿Ê±£¬»áÓõ½Í¬ÃûµÄ¾Ö²¿±äÁ¿£¬¶ø²»»áÓõ½