Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c

c°æµÄ»Øµ÷º¯ÊýÓëc++°æµÄÐ麯Êý

CÓïÑԵĻص÷º¯Êý˼Ïë´úÂ룺
#include <stdio.h>
void *max(void *base, unsigned int nmemb, unsigned int size,
    int (*compar)(const void *, const void *))
{
    int i;
    void* max_data = base;
    char* tmp = base;
    for (i=1; i<nmemb; i++) {
        tmp = tmp + size;
        if (compar(max_data, tmp) < 0) {
            max_data = tmp;
        }
    }
    return max_data;
}
int compar_int(const void* x, const void* y)
{
    return (*(int*)x - *(int*)y);
}
typedef struct _Student {
    char name[16];
    int score;
} Student;
int compar_student(const void* x, const void* y)
{
    return (((Student*)x)->score - ((Student*)y)- ......

c°æµÄ»Øµ÷º¯ÊýÓëc++°æµÄÐ麯Êý

CÓïÑԵĻص÷º¯Êý˼Ïë´úÂ룺
#include <stdio.h>
void *max(void *base, unsigned int nmemb, unsigned int size,
    int (*compar)(const void *, const void *))
{
    int i;
    void* max_data = base;
    char* tmp = base;
    for (i=1; i<nmemb; i++) {
        tmp = tmp + size;
        if (compar(max_data, tmp) < 0) {
            max_data = tmp;
        }
    }
    return max_data;
}
int compar_int(const void* x, const void* y)
{
    return (*(int*)x - *(int*)y);
}
typedef struct _Student {
    char name[16];
    int score;
} Student;
int compar_student(const void* x, const void* y)
{
    return (((Student*)x)->score - ((Student*)y)- ......

extern "C"

Èç¹ûC++µ÷ÓÃÒ»¸öCÓïÑÔ±àдµÄ.DLLʱ£¬µ±°üÀ¨.DLLµÄÍ·Îļþ»òÉùÃ÷½Ó¿Úº¯Êýʱ£¬Ó¦¼Óextern "C" {¡¡}¡£
È磺
Í·ÎļþcExample.h
#include <stdio.h>
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
int add(int x,int y);
#endif

º¯ÊýʵÏÖÎļþcExample.c(×¢ÒâÊÇ.cÎļþ)
#include<stdio.h>
#include "cExample.h"
int add(int x,int y)
{
return x+y;
}

mainÎļþcppFile.cpp
#include<iostream>
using namespace std;
extern "C" //ÓÉÓÚµ÷ÓõÄÊÇCÍ·Îļþ£¬¹ÊÒª¼Óextern "C"
{
#include "cExample.h"
}
void main()
{
cout<<add(2,3)<<endl;
}

========================================================
Èôµ÷ÓõÄÊÇC++Í·ÎļþÔò²»ÐèÒªÕâÑùд(ÈçʵÏÖÎļþΪcExample.cpp)¡£ÔòÖ»Ðèд³É£º
mainÎļþcppFile.cpp
#include<iostream>
using namespace std;
#include "cExample.h"
void main()
{
cout<<add(2,3)<<endl;
}

=========================================================
ÔÚÍ·ÎļþÖУ¬Ò»°ã¶ÔÍⲿʹÓõĺ¯ÊýºÍ±äÁ¿¼Óextern±êʶ£¬Æäʵº¯ÊýĬÈÏÊÇexternµÄ£¬¿ÉÒÔ²»¼ ......

C __attribute__ Ïê½â


< type="text/javascript">
Ô­ÎÄÇë¼ûÕâÀï
¡£
GNU
CµÄÒ»´óÌØÉ«£¨È´²»±»³õѧÕßËùÖª£©¾ÍÊÇ__attribute__»úÖÆ¡£__attribute__¿ÉÒÔÉèÖú¯ÊýÊôÐÔ£¨Function    
Attribute£©¡¢±äÁ¿ÊôÐÔ£¨Variable Attribute£©ºÍÀàÐÍÊôÐÔ£¨Type Attribute£©¡£
__attribute__ÊéÐ´ÌØÕ÷ÊÇ£º__attribute__ǰºó¶¼ÓÐÁ½¸öÏ»®Ïߣ¬²¢ÇкóÃæ»á½ô¸úÒ»¶ÔÔ­À¨»¡£¬À¨»¡ÀïÃæÊÇÏàÓ¦µÄ__attribute__²ÎÊý¡£
__attribute__Óï·¨¸ñʽΪ£º
__attribute__ ((attribute-list))
ÆäλÖÃÔ¼ÊøÎª£º
·ÅÓÚÉùÃ÷µÄβ²¿“£»”֮ǰ¡£
º¯ÊýÊôÐÔ£¨Function Attribute£©
º¯ÊýÊôÐÔ¿ÉÒÔ°ïÖú¿ª·¢Õß°ÑÒ»Ð©ÌØÐÔÌí¼Óµ½º¯ÊýÉùÃ÷ÖУ¬´Ó¶ø¿ÉÒÔʹ±àÒëÆ÷ÔÚ´íÎó¼ì²é·½ÃæµÄ¹¦ÄܸüÇ¿´ó¡£__attribute__»úÖÆÒ²ºÜÈÝÒ×ͬ·ÇGNUÓ¦ÓóÌÐò×öµ½¼æÈÝÖ®¹¦Ð§¡£
GNU CCÐèҪʹÓà –Wall±àÒëÆ÷À´»÷»î¸Ã¹¦ÄÜ£¬ÕâÊÇ¿ØÖƾ¯¸æÐÅÏ¢µÄÒ»¸öºÜºÃµÄ·½Ê½¡£ÏÂÃæ½éÉܼ¸¸ö³£¼ûµÄÊôÐÔ²ÎÊý¡£
__attribute__ format
¸Ã__attribute__ÊôÐÔ¿ÉÒÔ¸ø±»ÉùÃ÷µÄº¯Êý¼ÓÉÏÀàËÆprintf»òÕßscanfµÄÌØÕ÷£¬Ëü¿ÉÒÔʹ±àÒëÆ÷¼ì²éº¯ÊýÉùÃ÷ºÍº¯Êýʵ¼Êµ÷ÓòÎÊýÖ®¼äµÄ¸ñʽ»¯×Ö·û´®ÊÇ·ñÆ¥Åä¡£¸Ã¹¦ÄÜÊ®·ÖÓÐÓã¬ÓÈÆäÊÇ´¦ÀíһЩºÜÄÑ·¢ÏÖµÄbug¡£
formatµÄÓï·¨¸ñÊ ......

ÔÚ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); //´´½ ......

ÔÚ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); //´´½ ......

C ++µÄµ¥Àýģʽ


µ¥Àýģʽ£º¶ÔÓ¦Ò»¸öÀàÖ»ÄÜÉú³ÉÒ»¸ö¶ÔÏó¡£
#include <stdio.h>
class A
{
 private:
  int id;
  A() {}//°Ñ¹¹Ô캯Êý·ÅÔÚprivate£ºÏÂÄ¿µÄÊÇÔÚÀàÍâ²»ÄÜÔÚÕ»ÉÏÖ±½Ó·ÖÅä¿Õ¼ä¶¨Òå¶ÔÏó¡£
 public:
  static A *pt;
  static A *instance()
  {
   if (pt == NULL)//×¢ÒâÊÇË«µÈºÅ£¬»¹ÓкÃÏñÔÚC++ÖÐÓÃnull ²»ºÃʹ¡£
   {
    pt=new A;
    return pt;
   }
   else
    return pt;
  }
     
  ~A()
  {
   delete pt;//ÒòΪ¿ª±ÙÁ˶ѿռ䣬ҪÓÃdelete ÊÍ·Å¡£
  }
  void id_set(int x)
  {
   id=x;
  }
  void id_get()
  {
   printf("%d",id);
  }
 
};
A* A::pt=NULL;//¾²Ì¬³ÉÔ±±äÁ¿Ö»ÄÜÔÚÀàÍâ³õʼ»¯¡£
int main()
{
//´ËÀ಻ÄÜÔÚÕ»ÉÏ·ÖÅä¶ÔÏóÖ»ÄÜͨ ......

Ñ¡ÔñÅÅÐòÓëðÅÝ·¨ÅÅÐòµÄC´úÂëʵÏÖ

Ñ¡ÔñÅÅÐò·¨ÀàËÆÎÒÃÇÈËΪµÄÅÅÐòϰ¹ß£º´ÓÊý¾ÝÖÐÑ¡Ôñ×îСµÄͬµÚÒ»¸öÖµ½»»»£¬ÔÚ´ÓʡϵIJ¿·ÖÖÐÑ¡Ôñ×îСµÄÓëµÚ¶þ¸ö½»»»£¬ÕâÑùÍù¸´ÏÂÈ¥……
Ñ¡ÔñÅÅÐòµÄƽ¾ùʱ¼ä¸´ÔӶȱÈðÅÝÅÅÐòµÄÉÔµÍ:
ͬÑùÊý¾ÝµÄÇé¿öÏ£¬2ÖÖËã·¨µÄÑ­»·´ÎÊýÊÇÒ»ÑùµÄ£¬µ«Ñ¡ÔñÅÅÐòÊÇÒ»¶Ô¶àµÄ±È½Ï£¬Ã¿ÌËÖ»½øÐÐ0µ½1´Î½»»»£¬¶øÃ°ÅÝÅÅÐòÊÇÏàÁÚÁ½Á½±È½Ï£¬Ã¿ÌËÒª½øÐÐ0µ½n´Î½»»»£»
¾ÙÀý£º
£¨1£©
//ÓÃðÅÝ·¨¶ÔÊý×é10¸öÔªËØÓÉСµ½´óÅÅÐò
#include <stdio.h>
void main()
{
void m_sort(int array[],int n);//¶ÔðÅÝÅÅÐò·¨º¯Êým_sort½øÐÐÉùÃ÷
int a[10],i;
printf("enter the array:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
m_sort(a,10);//µ÷ÓÃm_sortº¯Êý
printf("the sorted array:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
void m_sort(int array[],int n) //¶¨Òåm_sortº¯Êý
{
int i,j,temp;
for( i=n-1; i>=0; i--)
{
for(j=0; j<i; j++)
{
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
£¨2£©
//ÓÃÑ¡Ôñ·¨¶ÔÊý×é10¸öÔªËØÓÉСµ½´óÅÅÐò
#include <stdio.h>
void ma ......
×ܼǼÊý:2015; ×ÜÒ³Êý:336; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [124] [125] [126] [127] 128 [129] [130] [131] [132] [133]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ