¡¶CÓïÑÔÉî¶ÈÆÊÎö¡·Ñ§Ï°±Ê¼ÇÈý
1.10.3£¬voidÖ¸Õë
¡¾¹æÔò 1-35¡¿Ç§ÍòСÐÄÓÖСÐÄʹÓÃvoidÖ¸ÕëÀàÐÍ¡£
°´ÕÕ ANSI(American National Standards Institute)±ê×¼£¬²»ÄÜ¶Ô voidÖ¸Õë½øÐÐËã·¨²Ù×÷£¬¼´ÏÂÁвÙ×÷¶¼ÊDz»ºÏ·¨µÄ£º
void * pvoid;
pvoid++; //ANSI£º´íÎó
pvoid += 1; //ANSI£º´íÎó
ANSI ±ê×¼Ö®ËùÒÔÕâÑùÈ϶¨£¬ÊÇÒòΪËü¼á³Ö£º½øÐÐËã·¨²Ù×÷µÄÖ¸Õë±ØÐëÊÇÈ·¶¨ÖªµÀÆäÖ¸ÏòÊý¾ÝÀàÐÍ´óСµÄ¡£Ò²¾ÍÊÇ˵±ØÐëÖªµÀÄÚ´æÄ¿µÄµØÖ·µÄÈ·ÇÐÖµ¡£
ÀýÈ磺
int *pint;
pint++; //ANSI£ºÕýÈ·
µ«ÊÇ´óÃû¶¦¶¦µÄ GNU(GNU's Not UnixµÄµÝ¹éËõд)Ôò²»ÕâôÈ϶¨£¬ËüÖ¸¶¨ void *µÄËã·¨²Ù×÷Óë char *Ò»Ö¡£Òò´ËÏÂÁÐÓï¾äÔÚGNU±àÒëÆ÷ÖнÔÕýÈ·£º
pvoid++; //GNU£ºÕýÈ·
pvoid += 1; //GNU£ºÕýÈ·
ÔÚʵ¼ÊµÄ³ÌÐòÉè¼ÆÖУ¬Îª·ûºÏ ANSI±ê×¼£¬²¢Ìá¸ß³ÌÐòµÄ¿ÉÒÆÖ²ÐÔ£¬ÎÒÃÇ¿ÉÒÔÕâÑù±àд
ʵÏÖͬÑù¹¦ÄܵĴúÂ룺
void * pvoid;
(char *)pvoid++; //ANSI£ºÕýÈ·£»GNU£ºÕýÈ·
(char *)pvoid += 1; //ANSI£º´íÎó£»GNU£ºÕýÈ·
GNUºÍ ANSI »¹ÓÐһЩÇø±ð£¬×ÜÌå¶øÑÔ£¬GNU ½Ï ANSI ¸ü“¿ª·Å”£¬ÌṩÁ˶Ըü¶àÓï·¨µÄÖ§³Ö¡£µ«ÊÇÎÒÃÇÔÚÕæʵÉè¼Æʱ£¬»¹ÊÇÓ¦¸Ã¾¡¿ÉÄܵطûºÏ ANSI ±ê×¼¡£
¡¾¹æÔò 1-36¡¿Èç¹ûº¯ÊýµÄ²ÎÊý¿ÉÒÔÊÇÈÎÒâÀàÐÍÖ¸Õ룬ÄÇôӦÉùÃ÷Æä²ÎÊýΪvoid *¡£
µäÐ͵ÄÈçÄÚ´æ²Ù×÷º¯Êý memcpy ºÍ memset µÄº¯ÊýÔÐÍ·Ö±ðΪ£º
void * memcpy(void *dest, const void *src, size_t len);
void * memset ( void * buffer, int c, size_t num );
ÕâÑù£¬ÈκÎÀàÐ͵ÄÖ¸Õ붼¿ÉÒÔ´«Èë memcpyºÍ memset ÖУ¬ÕâÒ²ÕæʵµØÌåÏÖÁËÄÚ´æ²Ù×÷º¯ÊýµÄÒâÒ壬 ÒòΪËü²Ù×÷µÄ¶ÔÏó½ö½öÊÇһƬÄڴ棬 ¶ø²»ÂÛÕâƬÄÚ´æÊÇʲôÀàÐÍ¡£ Èç¹ûmemcpyºÍmemsetµÄ²ÎÊýÀàÐͲ»ÊÇvoid *£¬ ¶øÊÇchar *£¬ ÄDzŽÐÕæµÄÆæ¹ÖÁË£¡ ÕâÑùµÄmemcpyºÍmemsetÃ÷ÏÔ²»ÊÇÒ»¸ö“´¿´âµÄ£¬ÍÑÀëµÍ¼¶È¤Î¶µÄ”º¯Êý£¡
ÏÂÃæµÄ´úÂëÖ´ÐÐÕýÈ·£º
Àý×Ó£ºmemset ½ÓÊÜÈÎÒâÀàÐÍÖ¸Õë
int IntArray_a[100];
memset (IntArray_a, 0, 100*sizeof(int) ); //½« IntArray_aÇå0
Àý×Ó£ºmemcpy ½ÓÊÜÈÎÒâÀàÐÍÖ¸Õë
int destIntArray_a[100], srcintarray_a[100];
//½« srcintarray_a¿½±´¸ø destIntArray_a
memcpy (destIntArray_a, srcintarray_a, 100*sizeof(int) );
ÓÐȤµÄÊÇ£¬memcpy ºÍ memsetº¯Êý·µ»ØµÄÒ²ÊÇ void *ÀàÐÍ£¬±ê×¼¿âº¯ÊýµÄ±àдÕ߶¼²»ÊÇÒ»°ãÈË¡£
1.10.4£¬void²»ÄÜ´ú±íÒ»¸öÕæʵµÄ±äÁ¿
¡¾¹æÔò 1-37¡¿void²»ÄÜ´ú±íÒ»¸öÕæʵµÄ±äÁ¿¡£
ÒòΪ¶¨Òå±äÁ¿Ê±±ØÐë·ÖÅäÄÚ´æ¿Õ¼ä£¬¶¨Òå vo
Ïà¹ØÎĵµ£º
±¾³ÌÐò¿ÉÒÔ¶ÁÈ¡.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 ......
ÉÏѧÆÚ¼ä»ù±¾É϶¼ÔÚwindowsϱà³Ì£¬¾ÍÊÇѧÁËÒ»µãLINUX£¬Ò²ÊÇһЩ»ù±¾²Ù×÷£¬ÔÚLINUXϱà³Ì¼¸ºõûÓйý£¬ÉÏ°àºó¶¼ÊÇÔÚUNIXϵĿª·¢£¬Í»È»Ö®¼äÓеã¸Ð¾õ×Ô¼ºÎÞ´¦ÏÂÊÖ£¬¸Ð¾õ²»»áÁË£¬×鳤ÈÃÎÒ±àÒ»¸ö³ÌÐò£¬ÎÒÏëÁË°ëÌìÔÚÍøÉϲéÁË°ëÌ죬Óеã˼·ÁË£¬ÔÚ±àÒëʱȷʵ´íÎóÁ¬Á¬£¬¸Ð¾õ¶¼ºÜÓÐѹÁ¦£¬µ«ÎÒ»áÂýÂýÏ°¹ßµÄ£¬ÎÒÏàÐÅ×Ô¼º¡£
ÎÊÌ⣺
1 ......
µ÷Óú¯Êýʱ£¬¼ÆËã»ú³£ÓÃÕ»À´´æ´¢´«µÝ¸øº¯ÊýµÄ²ÎÊý¡£
Õ»ÊÇÒ»ÖÖÏȽøºó³öµÄÊý¾Ý½á¹¹£¬Õ»ÓÐÒ»¸ö´æ´¢Çø¡¢Ò»¸öÕ»¶¥Ö¸Õë¡£Õ»¶¥Ö¸ÕëÖ¸Ïò¶ÑÕ»ÖеÚÒ»¸ö¿ÉÓõÄÊý¾ÝÏ±»³ÆΪջ¶¥£©¡£Óû§¿ÉÒÔÔÚÕ»¶¥ÉÏ·½ÏòÕ»ÖмÓÈëÊý¾Ý£¬Õâ¸ö²Ù×÷±»³ÆΪѹջ(Push)£¬Ñ¹Õ»ÒÔºó£¬Õ»¶¥×Ô¶¯±ä³ÉмÓÈëÊý¾ÝÏîµÄλÖã¬Õ»¶¥Ö¸ÕëÒ²ËæÖ®Ð޸ġ£Óû§Ò²¿ÉÒÔ´Ó¶ÑÕ»ÖÐ ......
Ç°ÑÔ
ÔÚ±àд³ÌÐòµÄʱºò,ÎÒÃǾ³£ÒªÓõ½ºê¶¨Òå,ºê¶¨ÒåµÄÒýÈëȷʵ´ó´óÌá¸ßÁ˳ÌÐòµÄ¿É¶ÁÐÔ,¿ÉÒÆÖ²ÐÔ,·½±ãά»¤.......Òò´ËƯÁÁµÄºê¶¨ÒåºÜÖØÒª.....ʹÓú궨ÒåÒ²ÊÇÓÐÒ»¶¨¼¼ÇɵÄ,ÏÂÃæÊǹØÓں궨ÒåµÄһЩºÃµÄ³£Óõķ½·¨,¾Ý˵ÊÇһЩ³ÉÊìµÄÈí¼þÖг£ÓõÄ....ÎÒÌôÁËһЩÎÒÃÇÄܹ»Àí½â¶øÇÒʵÓõãµÄ.... µ«ÊÇ,ʹÓú궨ÒåʱҲҪʮ·ÖСÐÄ,Ó ......