ÔÚC#Àï´´½¨ºÍʹÓÃC·ç¸ñÊý¾Ý½á¹¹
ÔÚC#Àï´´½¨ºÍʹÓÃC·ç¸ñÊý¾Ý½á¹¹£¬¼´·ÇÍйܵÄÊý¾Ý½á¹¹£¬¿ÉÒÔÌá¸ßÐÔÄÜ¡£
1 Êý¾Ý½á¹¹µÄ¶¨Òå
¿´ÏÂÃæÀý×Ó£º
unsafe struct A {
public int x;
}
unsafe struct B {
public A a; //AÄÚǶµ½BÖÐ
public A* pa; //AÁ´½Óµ½BÖÐ
public fixed int x[10]; //¹Ì¶¨´óСµÄÊý×éÄÚǶµ½BÖÐ
public int* p; //´óС䶨µÄÊý×飨Ê×Ö¸Õ룩Á´½Óµ½BÖÐ
}
ËùÓÐÊý¾Ý½á¹¹£¬¶¼ÓÃstruct£¬²»ÓÃclass£¬¶øÇÒstructÿһ¸ö×ÓÔªËØ¶¼²»ÄÜÊÇclass¡£
2 ÔÚ·ÇÍйܶÑÖд´½¨¶ÔÏó»òÊý×é
¿´ÏÂÃæÀý×Ó£¨¾²Ì¬Ààclass CµÄÔ´´úÂëÔÚºóÃæ¸ø³ö£©£º
A* pa=(A*)C.New(sizeof(A)); //Ï൱ÓÚCÀïÃæµÄA* pa=(A*)malloc(sizeof(A));
B* pb=(B*)C.New(sizeof(B),5); //´´½¨Ò»¸öÓÐ5¸öÔªËØµÄһάBÊý×é
int** a1=(int**)C.New(sizeof(int), 2, 3); //´´½¨Ò»¸ö2*3¶þάintÊý×é,¿ÉÓÃa1[i][j]·ÃÎÊÿ¸öÔªËØ
int** a2=(int**)C.New(new int[2,3]); //¹¦ÄÜͬÉÏ,²¢ÓÃ0³õʼ»¯Êý×é
int** a3=(int**)C.New(new int[,]{{1, 2, 3},{4, 5, 6}}); //¹¦ÄÜͬÉÏ,²¢ÓÃÖ¸¶¨Öµ³õʼ»¯Êý×é
char* s=C.New("abcde"); //ÓÃ×Ö·û´®³õʼ»¯charÊý×é
C.Delete(pa, pb, a1, a2, a3, s); //ÊÍ·ÅÉÏÊö¶ÔÏóµÄÄÚ´æ,²ÎÊý¸öÊýÈÎÒâ
3 ÔÚÕ»Öд´½¨¶ÔÏó»òÊý×é
¿´ÏÂÃæÀý×Ó:
A a; //½¨Á¢Õ»¶ÔÏóa
B* pb=stackalloc B[5]; //´´½¨Ò»¸öÓÐ5¸öÔªËØµÄһάջÊý×é
char* p1=stackalloc char[5];
C.Copy(p1, "Test"); //°Ñ×Ö·û´®ÀïµÄ×Ö·û¸´ÖƵ½Õ»Êý×éÀï
C.Copy(p1, new[] { 'T', 'e', 's', 't', '\0' }); //°ÑÍйÜÊý×éµÄÊý¾Ý¸´ÖƵ½Õ»Êý×éÀï
4 ¾²Ì¬Ààclass CµÄÔ´´úÂë
unsafe static class C {
[DllImport("msvcrt")]
public static extern void* malloc(uint size);
[DllImport("msvcrt")]
public static extern void* realloc(void* p, uint newsize);
[DllImpor
Ïà¹ØÎĵµ£º
¹þ¹þ£¡ÓÐÐÒÔÚÄ³ÍøÕ¾·¢ÏÖÕâÆªÎÄÕ£¬¶Á°Õ£¬¾õµÃÂùÓеÀÀí£¬·¢À´´ó¼ÒÒ»Æð¹²ÃãÖ®
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû ......
sd.xmlÎļþ:
<?xml version="1.0" encoding="gb2312"?>
<!--ÕâÊÇÒ»¸öxmlÎļþ-->
<xml1>
<item name="1">µÚÒ»¸öitem</item>
<item name="2">
<item name="1">Õâ¸ö½áµã(1) ......
1. ×Ö·û´®²Ù×÷º¯Êý
³ÌÐò°´¹¦ÄÜ»®·Ö¿É·ÖΪÊýÖµÔËËã¡¢·ûºÅ´¦ÀíºÍI/O²Ù×÷ÈýÀ࣬·ûºÅ´¦Àí³ÌÐòÕ¼Ï൱´óµÄ±ÈÀý£¬·ûºÅ´¦Àí³ÌÐòÎÞ´¦²»ÔÚ£¬±àÒëÆ÷¡¢ä¯ÀÀÆ÷¡¢OfficeÌ×¼þµÈ³ÌÐòµÄÖ÷Òª¹¦Äܶ¼ÊÇ·ûºÅ´¦Àí¡£ÎÞÂ۶ิÔӵķûºÅ´¦Àí¶¼ÊÇÓɸ÷ÖÖ»ù±¾µÄ×Ö·û´®²Ù×÷×é³ÉµÄ£¬±¾½Ú½éÉÜÈçºÎÓÃCÓïÑԵĿ⺯Êý×ö×Ö·û´®³õʼ»¯¡¢È¡³¤¶È¡¢¿½±´¡¢Á¬½ ......
main.c
//³õʼ»¯¶ÓÁÐ
void InitQueue(LiQueue *q)
{
q=(LiQueue*)malloc(sizeof(LiQueue));
q->front=q->rear=NULL;
}
//ÅжÏÊÇ·ñΪ¿Õ
int QueueEmpty(LiQueue *q)
{
if(q->rear==NULL)
{
return 1;
}
else
{
......
±ÈÈç ÊäÈë1.9»áÏÔʾ1.899999 ÀàËÆµÄÎÊÌâ
ÓÉÓÚCÓïÑÔÖжÔÓÚ¸¡µãСÊýµÄ±í´ï·½Ê½µÄ¾ÖÏÞµ¼Öµġ£CÓïÑÔÖÐ10½øÖÆÐ¡ÊýÊÇÖ±½ÓÓÃ2½øÖÆÐ¡ÊýÀ´±íʾµÄ¡£ÓÉÓÚijЩ10½øÖÆÐ¡Êý¸ù±¾ÎÞ·¨ÓÃ2½øÖÆÐ¡ÊýÀ´¾«È·±í´ï£¬Æ©Èç0.1,µ¼Ö¼ÆËã»ú²»µÃ²»ÓýüËÆµÄÏà²îºÜСµÄ2½øÖÆÐ¡ÊýÀ´±íʾÕâЩ10½øÖÆÐ¡Êý¡£
¼ÈÈ»ÊǽüËÆ£¬¾ÍÒ» ......