c/c++void¼°voidÖ¸ÕëÀàÐÍ
c/c++void¼°voidÖ¸ÕëÀàÐÍ
¡¡¡¡1.¸ÅÊöÐí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬ÒåvoidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾Ý¡£
¡¡¡¡void¼¸ºõÖ»ÓГעÊÍ”ºÍÏÞÖÆ³ÌÐòµÄ×÷Óã¬ÒòΪ´ÓÀ´Ã»ÓÐÈ˻ᶨÒåÒ»¸övoid±äÁ¿£¬ÈÃÎÒÃÇÊÔ×ÅÀ´¶¨Ò壺
¡¡¡¡void a;
¡¡¡¡ÕâÐÐÓï¾ä±àÒëʱ»á³ö´í£¬Ìáʾ“illegal use of type 'void'”¡£²»¹ý£¬¼´Ê¹void aµÄ±àÒë²»»á³ö´í£¬ËüҲûÓÐÈκÎʵ¼ÊÒâÒå¡£
¡¡¡¡voidÕæÕý·¢»ÓµÄ×÷ÓÃÔÚÓÚ£º
¡¡¡¡£¨1£©¶Ôº¯Êý·µ»ØµÄÏÞ¶¨£»
¡¡¡¡£¨2£© ¶Ôº¯Êý²ÎÊýµÄÏÞ¶¨¡£
¡¡¡¡ÎÒÃǽ«ÔÚµÚÈý½Ú¶ÔÒÔÉ϶þµã½øÐоßÌå˵Ã÷¡£
¡¡¡¡ÖÚËùÖÜÖª£¬Èç¹ûÖ¸Õëp1ºÍp2µÄÀàÐÍÏàͬ£¬ÄÇôÎÒÃÇ¿ÉÒÔÖ±½ÓÔÚp1ºÍp2¼ä»¥Ïำֵ£»Èç¹ûp1ºÍp2Ö¸Ïò²»Í¬µÄÊý¾ÝÀàÐÍ£¬Ôò±ØÐëʹÓÃÇ¿ÖÆÀàÐÍ
¡¡¡¡×ª»»ÔËËã·û°Ñ¸³ÖµÔËËã·ûÓұߵÄÖ¸ÕëÀàÐÍת»»Îª×ó±ßÖ¸ÕëµÄÀàÐÍ¡£
¡¡¡¡ÀýÈ磺
¡¡¡¡float *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡ÆäÖÐp1 = p2Óï¾ä»á±àÒë³ö´í£¬Ìáʾ“'=' : cannot convert from 'int *' to 'float *'”£¬±ØÐë¸ÄΪ£º
¡¡¡¡p1 = (float *)p2;
¡¡¡¡¶øvoid *Ôò²»Í¬£¬ÈκÎÀàÐ͵ÄÖ¸Õë¶¼¿ÉÒÔÖ±½Ó¸³Öµ¸øËü£¬ÎÞÐè½øÐÐÇ¿ÖÆÀàÐÍת»»£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡µ«Õâ²¢²»Òâζ×Å£¬void *Ò²¿ÉÒÔÎÞÐèÇ¿ÖÆÀàÐÍת»»µØ¸³¸øÆäËüÀàÐ͵ÄÖ¸Õë¡£ÒòΪ“ÎÞÀàÐÍ”¿ÉÒÔ°üÈÝ“ÓÐÀàÐÍ”£¬¶ø“ÓÐÀàÐÍ”Ôò²»ÄܰüÈÝ“ÎÞÀàÐÍ”¡£µÀÀíºÜ¼òµ¥£¬ÎÒÃÇ¿ÉÒÔ˵“ÄÐÈ˺ÍÅ®È˶¼ÊÇÈË”£¬µ«²»ÄÜ˵“ÈËÊÇÄÐÈË”»òÕß“ÈËÊÇÅ®ÈË”¡£ÏÂÃæµÄÓï¾ä±àÒë³ö´í£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p2 = p1;
¡¡¡¡Ìáʾ“'=' : cannot convert from 'void *' to 'int *'”¡£
¡¡¡¡3.voidµÄʹÓÃ
¡¡¡¡ÏÂÃæ¸ø³övoid¹Ø¼ü×ÖµÄʹÓùæÔò£º
¡¡¡¡¹æÔòÒ» Èç¹ûº¯ÊýûÓзµ»ØÖµ£¬ÄÇôӦÉùÃ÷ΪvoidÀàÐÍ
¡¡¡¡ÔÚCÓïÑÔÖУ¬·²²»¼Ó·µ»ØÖµÀàÐÍÏÞ¶¨µÄº¯Êý£¬¾Í»á±»±àÒëÆ÷×÷Ϊ·µ»ØÕûÐÍÖµ´¦Àí¡£µ«ÊÇÐí¶à³ÌÐòԱȴÎóÒÔΪÆäΪvoidÀàÐÍ¡£ÀýÈ磺add ( int a, int b )
¡¡¡¡{
¡¡¡¡return a + b;
¡¡¡¡}
¡¡¡¡int main(int argc, char* argv[])
¡¡¡¡{
¡¡¡¡printf ( "2 + 3 = %d", add ( 2, 3) );
¡¡¡¡}
¡
Ïà¹ØÎĵµ£º
·¢ÐÅÈË: RoachCock (·´¶¯Ñ§ÊõȨÍþ), ÐÅÇø: CPlusPlus
±ê Ìâ: extern "C" ÔĶÁ±Ê¼Ç
·¢ÐÅÕ¾: ˮľÉçÇø (Fri Mar 7 00:22:47 2008), Õ¾ÄÚ
±¾ÒÔΪºÜ¼òµ¥£¬×ÐϸÔĶÁÁËһϠC++ ±ê×¼£¬·¢ÏÖÄÚÈÝ»¹²»ÉÙ¡£×ܽáÁËһϡ£
Òªµã£º
º¯ÊýÀàÐÍ£¬º¯ÊýÃû£¬±äÁ¿Ãû¾ßÓÐÓïÑÔÁ´½ÓÐÔ£¬language linkage¡£
ÓïÑÔÁ´½ÓÐÔ¿ÉÄÜ»áÓ°Ïìµ½ ......
//¿âº¯ÊýʵÏÖ
char *strcat (char *dst, const char *src)
{
char *p = dst;
while (*p)
p++;
while ((*p++ = *src++))
;
return dst;
}
char *strncat (char *s1, const char *s2, long unsigned int n)
{
char *dest = s1;
  ......
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num;
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
P1=0xFF;
while(1);
}
void T0_time() interrupt 1
{
  ......
[root@localhost test]# hexdump -s 0 -n 52 -C helloworld
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 03 00 01 00 00 00 10 83 04 08 34 00 00 00 |............4...|
00000020 30 08 00 00 00 00 00 00 34 00 20 ......
λ¼ÆÊý¾ÍÊǶÔÒ»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ½øÐмÆÊý¡£¿´ÏÂÃæÊµÏÖ£º
/* bitscount.c£ºÎ»¼ÆÊý */
/* ¼ÆËãxÖÐ1λµÄÊýÄ¿£º·½°¸1£¬²ÉÓ÷ÖÖβßÂÔ */
inline int pop(unsigned x){
/* ¶Ôÿ¸ö2λ×ֶΣ¬ÏÈÎö³öÆäÓҶ˵Ä1룬ÔÙÎö³öÆä×ó¶ËµÄ1λ£¬È»ºóÈÃÕâÁ½¸öλÏà¼Ó */
x=(x & 0x55555555)+((x>>1) & 0x555555 ......