C/C++Ó﷨֪ʶ£ºtypedef struct Ó÷¨Ïê½â
µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷¡£
ÖÁÓÚtypedefÓÐʲô΢ÃîÖ®´¦£¬ÇëÄã½Ó×Å¿´ÏÂÃæ¶Ô¼¸¸öÎÊÌâµÄ¾ßÌå²ûÊö¡£
2. typedef & ½á¹¹µÄÎÊÌâ
µ±ÓÃÏÂÃæµÄ´úÂ붨ÒåÒ»¸ö½á¹¹Ê±£¬±àÒëÆ÷±¨ÁËÒ»¸ö´íÎó£¬ÎªÊ²Ã´ÄØ£¿Äª·ÇCÓïÑÔ²»ÔÊÐíÔڽṹÖаüº¬Ö¸ÏòËü×Ô¼ºµÄÖ¸ÕëÂð£¿ÇëÄãÏȲÂÏëһϣ¬È»ºó¿´ÏÂÎÄ˵
Ã÷£º
typedef struct tagNode
{
¡¡char *pItem;
¡¡pNode pNext;
}
*pNode;
´ð°¸Óë·ÖÎö£º
1¡¢typedefµÄ×î¼òµ¥Ê¹ÓÃ
typedef long byte_4;
¸øÒÑÖªÊý¾ÝÀàÐÍlongÆð¸öÐÂÃû×Ö£¬½Ðbyte_4¡£
2¡¢ typedefÓë½á¹¹½áºÏʹÓÃ
typedef struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
}
MyStruct;
ÕâÓï¾äʵ¼ÊÉÏÍê³ÉÁ½¸ö²Ù×÷£º
1) ¶¨ÒåÒ»¸öеĽṹÀàÐÍ
struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
};
·ÖÎö£ºtagMyStruct³ÆÎª“tag”£¬¼´“±êÇ©”£¬Êµ¼ÊÉÏÊÇÒ»¸öÁÙʱÃû×Ö£¬struct
¹Ø¼ü×ÖºÍtagMyStructÒ»Æð£¬¹¹³ÉÁËÕâ¸ö½á¹¹ÀàÐÍ£¬²»ÂÛÊÇ·ñÓÐtypedef£¬Õâ¸ö½á¹¹¶¼´æÔÚ¡£
ÎÒÃÇ¿ÉÒÔÓÃstruct tagMyStruct varNameÀ´¶¨Òå±äÁ¿£¬µ«Òª×¢Ò⣬ʹÓÃtagMyStruct
varNameÀ´¶¨Òå±äÁ¿ÊDz»¶ÔµÄ£¬ÒòΪstruct ºÍtagMyStructºÏÔÚÒ»Æð²ÅÄܱíʾһ¸ö½á¹¹ÀàÐÍ¡£
2) typedefΪÕâ¸öеĽṹÆðÁËÒ»¸öÃû×Ö£¬½ÐMyStruct¡£
typedef struct tagMyStruct MyStruct;
Òò´Ë£¬MyStructʵ¼ÊÉÏÏ൱ÓÚstruct tagMyStruct£¬ÎÒÃÇ¿ÉÒÔʹÓÃMyStruct varNameÀ´¶¨Òå±äÁ¿¡£
´ð°¸Óë·ÖÎö
CÓïÑÔµ±È»ÔÊÐíÔڽṹÖаüº¬Ö¸ÏòËü×Ô¼ºµÄÖ¸Õ룬ÎÒÃÇ¿ÉÒÔÔÚ½¨Á¢Á´±íµÈÊý¾Ý½á¹¹µÄʵÏÖÉÏ¿´µ½ÎÞÊýÕâÑùµÄÀý×Ó£¬ÉÏÊö´úÂëµÄ¸ù±¾ÎÊÌâÔÚÓÚtypedefµÄ
Ó¦Óá£
¸ù¾ÝÎÒÃÇÉÏÃæµÄ²ûÊö¿ÉÒÔÖªµÀ£ºÐ½ṹ½¨Á¢µÄ¹ý³ÌÖÐÓöµ½ÁËpNextÓòµÄÉùÃ÷£¬ÀàÐÍÊÇpNode£¬ÒªÖªµÀpNode±íʾµÄÊÇÀàÐ͵ÄÐÂÃû×Ö£¬ÄÇôÔÚÀàÐÍ
±¾Éí»¹Ã»Óн¨Á¢Íê³ÉµÄʱºò£¬Õâ¸öÀàÐ͵ÄÐÂÃû×ÖÒ²»¹²»´æÔÚ£¬Ò²¾ÍÊÇ˵Õâ¸öʱºò±àÒëÆ÷¸ù±¾²»ÈÏʶpNode¡£
½â¾öÕâ¸öÎÊÌâµÄ·½·¨ÓжàÖÖ£º
1)¡¢
typedef struct tagNode
{
¡¡char *pItem;
¡¡struct tagNode
*pNext;
} *pNode;
2)¡¢
typedef struct tagNode *pNode;
struct tagNode
{
¡¡c
Ïà¹ØÎĵµ£º
1¡¢Ñ¡ÔñºÏÊʵÄËã·¨ºÍÊý¾Ý½á¹¹
Ñ¡ÔñÒ»ÖÖºÏÊʵÄÊý¾Ý½á¹¹ºÜÖØÒª£¬Èç¹ûÔÚÒ»¶ÑËæ»ú´æ·ÅµÄÊýÖÐʹÓÃÁË´óÁ¿µÄ²åÈëºÍɾ³ýÖ¸ÁÄÇʹÓÃÁ´±íÒª¿ìµÃ¶à¡£Êý×éÓëÖ¸ÕëÓï¾ä¾ßÓÐÊ®·ÖÃÜÇеĹØÏµ£¬Ò»°ãÀ´Ëµ£¬Ö¸Õë±È½ÏÁé»î¼ò½à£¬¶øÊý×éÔò±È½ÏÖ±¹Û£¬ÈÝÒ×Àí½â¡£¶ÔÓڴ󲿷ֵıàÒëÆ÷£¬Ê¹ÓÃÖ¸Õë±ÈʹÓÃÊý×éÉú³ÉµÄ´úÂë¸ü¶Ì£¬Ö´ÐÐЧÂʸü¸ß¡£
ÔÚÐí¶à ......
C++µÄʵÏÖ
#include<fstream>
#include <iostream>
using namespace std;
int main()
{
ofstream logTest("foo.log");
streambuf *oldbuf = cout.rdbuf(logTest.rdbuf());
cout << "Êä³ö ......
//À´Ô´²»Ïê
1. ¾ø¶Ôºê£º
ÔÚ³ÌÐòÖУ¬ÓÓ££include<absacc.h>”¼´¿ÉʹÓÃÆäÖж¨ÒåµÄºêÀ´·ÃÎʾø¶ÔµØÖ·£¬°üÀ¨CBYTE¡¢XBYTE¡¢PWORD¡¢DBYTE¡¢CWORD¡¢XWORD¡¢PBYTE¡¢DWORD
¾ßÌåʹÓÿɿ´Ò»¿´absacc.h±ãÖª£¬ÀýÈ磺
rval=CBYTE[0x0002];Ö¸Ïò³ÌÐò´æÖüÆ÷µÄ0002hµØÖ·
rval=XWORD[0x0002];Ö¸ÏòÍâRAMµÄ0002hµØÖ·
2 ......
//Á¬½ÓÍ·Îļþ
#include <io.h>
#include <dir.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//¿½±´ÎļþÄ£¿é
int copyfile (char *infile, char *outfile)
{
FILE *in,*out; //¶¨ÒåÎļþÖ¸Õë
in = fopen(infile,"r"); //´ ......