¡¶Cר¼Ò±à³Ì¡·2.3CÓïÑÔÖеķûºÅÖØÔØ
CÓïÑÔÖÐÐí¶à·ûºÅÊDZ»“ÖØÔØ”µÄ£¬ÓÐЩ¹Ø¼ü×ÖÒ²±»ÖØÔضø¾ßÓкü¸ÖÖÒâÒ壬ֵµÃ×¢ÒâµÄ¼¸¸ö·ûºÅÈçÏ£º
·ûºÅ ÒâÒå
static ÔÚº¯ÊýÄÚ²¿£¬±íʾ¸Ã±äÁ¿µÄÖµÔÚ¸÷¸öµ÷ÓüäÒ»Ö±±£³ÖÑÓÐøÐÔ
ÔÚº¯ÊýÕâÒ»¼¶£¬±íʾ¸Ãº¯ÊýÖ»¶Ô±¾Îļþ¿É¼û
extern ÓÃÓÚº¯Êý¶¨Ò壬±íʾȫ¾Ö¿É¼û£¨ÈßÓࣩ
ÓÃÓÚ±äÁ¿£¬±íʾËüÔÚÆäËûµØ·½¶¨Òå
void ×÷Ϊº¯ÊýµÄ·µ»ØÀàÐÍ£¬±íʾ²»·µ»ØÈκÎÖµ
ÔÚÖ¸ÕëÉùÃ÷ÖУ¬±íʾͨÓÃÖ¸ÕëµÄÀàÐÍ
λÓÚ²ÎÊýÁбíÖУ¬±íʾûÓвÎÊý
¸½£º
CÖеÄstatic
static ÉùÃ÷µÄ±äÁ¿ÔÚCÓïÑÔÖÐÓÐÁ½·½ÃæµÄÌØÕ÷£º
1)¡¢±äÁ¿»á±»·ÅÔÚ³ÌÐòµÄÈ«¾Ö´æ´¢ÇøÖУ¬ÕâÑù¿ÉÒÔÔÚÏÂÒ»´Îµ÷ÓõÄʱºò»¹¿ÉÒÔ±£³ÖÔÀ´µÄ¸³Öµ¡£ÕâÒ»µãÊÇËüÓë¶ÑÕ»±äÁ¿ºÍ¶Ñ±äÁ¿µÄÇø±ð¡£
2)¡¢±äÁ¿ÓÃstatic¸æÖª±àÒëÆ÷£¬×Ô¼º½ö½öÔÚ±äÁ¿µÄ×÷Ó÷¶Î§Äڿɼû¡£ÕâÒ»µãÊÇËüÓëÈ«¾Ö±äÁ¿µÄÇø±ð¡£
¹ØÓÚstatic±äÁ¿£¬ÇëÑ¡ÔñÏÂÃæËùÓÐ˵·¨ÕýÈ·µÄÄÚÈÝ£º
A¡¢ÈôÈ«¾Ö±äÁ¿½öÔÚµ¥¸öCÎļþÖзÃÎÊ£¬Ôò¿ÉÒÔ½«Õâ¸ö±äÁ¿ÐÞ¸ÄΪ¾²Ì¬È«¾Ö±äÁ¿£¬ÒÔ½µµÍÄ£¿é¼äµÄñîºÏ¶È£»
B¡¢ÈôÈ«¾Ö±äÁ¿½öÓɵ¥¸öº¯Êý·ÃÎÊ£¬Ôò¿ÉÒÔ½«Õâ¸ö±äÁ¿¸ÄΪ¸Ãº¯ÊýµÄ¾²Ì¬¾Ö²¿±äÁ¿£¬ÒÔ½µµÍÄ£¿é¼äµÄñîºÏ¶È£»
C¡¢Éè¼ÆºÍʹÓ÷ÃÎʶ¯Ì¬È«¾Ö±äÁ¿¡¢¾²Ì¬È«¾Ö±äÁ¿¡¢¾²Ì¬¾Ö²¿±äÁ¿µÄº¯Êýʱ£¬ÐèÒª¿¼ÂÇÖØÈëÎÊÌâ
D¡¢¾²Ì¬È«¾Ö±äÁ¿¹ý´ó£¬¿ÉÄǻᵼÖ¶ÑÕ»Òç³ö¡£ (×)
´ð°¸Óë·ÖÎö£º
¶ÔÓÚA£¬B£º¸ù¾Ý±¾Æª¸ÅÊö²¿·ÖµÄ˵Ã÷b)£¬ÎÒÃÇÖªµÀ£¬A,B¶¼ÊÇÕýÈ·µÄ¡£
¶ÔÓÚC£º¸ù¾Ý±¾Æª¸ÅÊö²¿·ÖµÄ˵Ã÷a)£¬ÎÒÃÇÖªµÀ£¬CÊÇÕýÈ·µÄ£¨ËùνµÄº¯ÊýÖØÈëÎÊÌ⣬ÏÂÃæ»áÏêϸ²ûÊö£©¡£
¶ÔÓÚD£º¾²Ì¬±äÁ¿·ÅÔÚ³ÌÐòµÄÈ«¾ÖÊý¾ÝÇø£¬¶ø²»ÊÇÔÚ¶ÑÕ»ÖзÖÅ䣬ËùÒÔ²»¿ÉÄܵ¼Ö¶ÑÕ»Òç³ö£¬DÊÇ´íÎóµÄ¡£
Òò´Ë£¬´ð°¸ÊÇA¡¢B¡¢C¡£
ÎÊÌ⣺²»¿ÉÖØÈ뺯Êý
¡¡¡¡Ôø¾Éè¼Æ¹ýÈçÏÂÒ»¸öº¯Êý£¬ÔÚ´úÂë¼ìÊÓµÄʱºò±»ÌáÐÑÓÐbug£¬ÒòΪÕâ¸öº¯ÊýÊDz»¿ÉÖØÈëµÄ£¬ÎªÊ²Ã´£¿
unsigned int sum_int( unsigned int base )
{
¡¡unsigned int index;
¡¡static unsigned int sum = 0; // ×¢Ò⣬ÊÇstaticÀàÐ͵ġ£
¡¡for (index = 1; index <= base; index++)
¡¡{
¡¡¡¡sum += index;
¡¡}
¡¡return sum;
}
´ð°¸Óë·ÖÎö£º
¡¡¡¡ËùνµÄº¯ÊýÊÇ¿ÉÖØÈëµÄ£¨Ò²¿ÉÒÔ˵ÊÇ¿ÉÔ¤²âµÄ£©£¬¼´£ºÖ»ÒªÊäÈëÊý¾ÝÏàͬ¾ÍÓ¦²úÉúÏàͬµÄÊä³ö¡£
¡¡¡¡Õ
Ïà¹ØÎĵµ£º
Ç°Ãæ½éÉܵĸ÷ÖÖÔËËã¶¼ÊÇÒÔ×Ö½Ú×÷Ϊ×î»ù±¾Î»½øÐеġ£ µ«Ôںܶàϵͳ³ÌÐòÖг£ÒªÇóÔÚλ(bit)Ò»¼¶½øÐÐÔËËã»ò´¦Àí¡££ÃÓïÑÔÌṩÁËλÔËËãµÄ¹¦ÄÜ£¬ÕâʹµÃ£ÃÓïÑÔÒ²ÄÜÏñ»ã±àÓïÑÔÒ»ÑùÓÃÀ´±àдϵͳ³ÌÐò¡£
12.1 λÔËËã·û£ÃÓïÑÔÌṩÁËÁùÖÖλÔËËã·û£º
& °´ ......
±¾³ÌÐò¿ÉÒÔ¶ÁÈ¡.wavÎļþ£¬È»ºó½øÐв¥·Å¡£
È·ÈÏ·½·¨£ºcat /etc/sndstat£¬Èç¹ûÏÔʾÎÞ´ËÉ豸£¬ÔòûÓа²×°Çý¶¯¡£
#include <unistd.h>#include <fcntl.h>#include <sys/types.h>#include <sys/ioctl.h>#include <stdlib.h>#include <stdio.h>#include&nbs ......
×ªÔØÓÚÕâÀhttp://www.programfan.com/article/showarticle.asp?id=2798
²»Ì«¶®ÈçºÎ¶ÔÔËÓÃc++µÄʱ¼äº¯ÊýµÄÅóÓѶ࿴¿´°É¡£
*************************ÆÓËØµÄ·Ö¸îÏß**********************************
׫ÎÄ/ÖÜÏè
ͻ񻣼
±¾ÎÄ´Ó½éÉÜ»ù´¡¸ÅÄîÈëÊÖ£¬Ì½ÌÖÁËÔÚC/C++ÖжÔÈÕÆÚºÍʱ¼ä²Ù×÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£¬²¢¶Ô¼ÆÊ±¡¢Ê ......
¿´µ½Õâ¸öÃæÊÔÌâ,¹À¼ÆºÜ¶à¸ÕѧCÖ¸ÕëµÄͬѧ¶¼»á¸ã´í.
void GetMemory(char *p)
{
// ´«µÝ½øÀ´µÄµÄֵʹµÃ*p==NULL
// ÕâÀïÐ޸ĵÄÊÇÕâ¸öº¯ÊýÄÚµÄÁÙʱָÕë±äÁ¿pµÄÖµ
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
// ´«µÝ½øÈ¥µÄÊÇstrµÄÖµNULL
GetMemory(str);
// ÕâÀïstrÖ¸Õë² ......
CÓïÑÔÎļþ²Ù×÷½Ó´¥ºÜ¾ÃÁË£¬Ò»Ö±Ã»ÓÐ×ܽáÏà¹ØÄÚÈÝ£¬½ñÌìÓõ½Á˾ÍÈ¥ÕÒÁËÕÒÏà¹ØÄÚÈÝ¡£
ÔÚANSI CÖУ¬¶ÔÎļþµÄ²Ù×÷·ÖΪÁ½ÖÖ·½Ê½£¬¼´Á÷ʽÎļþ²Ù×÷ºÍI/OÎļþ²Ù×÷
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold ......