程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> c語言中關於指針的一些亂七八糟的代碼 VC6中直接編譯運行!

c語言中關於指針的一些亂七八糟的代碼 VC6中直接編譯運行!

編輯:關於C

 

c語言中關於指針的一些亂七八糟的代碼 VC6中直接編譯運行!

#include
void MyFunc(int);


void MyFunc1(int);
void MyFunc2(int);
void MyFunc3(int);


void (*Funcp)(int);


typedef void (*FuncType)(int);


void CallMyFunc(FuncType fp,int x);


void Exchg1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
printf(x=%d,y=%d ,x,y);
}


void find1(char array[],char search,char *pa)
{
int i;
for(i=0;*(array+i)!=0;i++)
{
if(*(array+i)==search)
{
pa=array+i;
break;
}
else if(*(array+i)==0)
{
pa=0;
break;
}
}
}


void find2(char array[],char search,char **ppa)
{
int i;
for(i=0;*(array+i)!=0;i++)
{
if(*(array+i)==search)
{
*ppa=array+i;
break;
}
else if(*(array+i)==0)
{
*ppa=0;
break;
}
}
}


void Exchg2(int *px,int *py)
{
int temp=*px;
*px=*py;
*py=temp;
printf(*px=%d,*py=%d ,*px,*py);
}




main()
{
////int *const b={3,3,4,5,6,6,2,3,23,3};
//int i,a[]={3,3,4,5,6,6,2,3,23,3};
//int const * pa=a;
//for(int j=0;j<=9;j++)
//{
//printf(%d ,*pa);
//pa++;
//}


int a=4,b=6;
Exchg1(a,b);
printf(a=%d,b=%d ,a,b);


Exchg2(&a,&b);
printf(a=%d,b=%d ,a,b);


char str[]={asdfasdfashdifshd};
char c='d';
char *p=0;
find1(str,c,p);
if(0==p)
{
printf(沒找到! );
}
else
{
printf(找到了,p=%d ,p);
}


find2(str,c,&p);
if(0==p)
{
printf(沒找到! );
}
else
{
printf(找到了,p=%d ,p);
}


MyFunc(10); //直接調用


Funcp=MyFunc;//通過指針調用
(*Funcp)(20);


//(Funcp)(30);




Funcp=&MyFunc;
(MyFunc)(40);


(*MyFunc)(50);


(&MyFunc)(60);




CallMyFunc(MyFunc1,100);
CallMyFunc(MyFunc2,200);
CallMyFunc(MyFunc3,300);


return(0);
}


void CallMyFunc(FuncType fp,int x)
{
fp(x);
}


void MyFunc(int x)
{
printf(x=%d ,x);
}


void MyFunc1(int x)
{
printf(Fun1 Value=%d ,x);
}


void MyFunc2(int x)
{
printf(Fun2 Value=%d ,x);
}
void MyFunc3(int x)
{
printf(Fun3 Value=%d ,x);
}

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved