func作用是将传入的第二个参数改为x+2+1=x+3,并返回2x+2+2=2x+4,所以 int a=1,b=2,c;c=func(a,&b); //这句执行后b=a+3=4 c=2*a+4=6 b=func(c,&b);//同上,b=2*6+4=16 a=func(b,&c);// c=16+3=19 a=2*16+4=36 即abc分别为36 16 19 重点在给...
再说指针形参,假设两个自定义函数:int func1(int *p){……}//指向int类型的变量的指针做形参 int func2(int m){……}//int类型的变量做形参 void main(){ int a=0,*b,c;b=&a;c=func1(b);//或者你也可以写c=func1(&a);因为此时需要提供一个专门于int类型地址的实参,&a一定是i...
typedef struct { int a,b,c; float d,e,f; }UNIT1; typedef struct { int g,h,i; float j,k,l; }UNIT2; typedef struct { UNIT1 unit1; UNIT2 unit2; }ALL; 我有个函数需要操作ALL这个结构体。 void AllStructFunc(void *pMe) { //在这里我不可以直接通过pMe去...
(*p)[4]定义的是一个指向一维制数组的指针,这是一个指针,p++相当于p的地址相加了1*4举例说百明:#includevoidmain(){inta[2][2]={{1,2},{8,9}};int*p[4],(*q)[2];q=a;p[0]=&a[0][0];p[1]=&a[0][1];p[2]=&a[1][0];p[3]=&a[1][1];for(inti=0;i<4...
include <stdio.h>void swep(int *a,int *b,int *c){int tmp;if(*a>*b){tmp=*a;a=*b;b=tmp;}if(*a>*c){tmp=*a;a=*c;c=tmp;}if(*b>*c){tmp=*b;b=*c;c=tmp;}}void main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);swep(&a,&b,&c);printf("%4d%4d%4d"...
7. 若有int a[6],*p=a;,则数组元素a[3]可以表示为*(p+___2___ ) 或p[___2___]。8. 有如下结构体的定义:struct AA{ int *a,b;char c;};则sizeof(AA)的值是___12___。9.若类Sample 中只有如下几个数据成员:const float f,const char c,则其构造函数应 定义为___...
答案:B 2.有以下程序 include void fun(char**p){++p;printf("%s",*p);} main(){char*a[]={"Morning","Afternoon","Evening"," Night");fun(a);} 程序的运行结果是( )。A.Afternoon B.fternoon C.Morning D.orning 答案:A 3.若有定义语句:int a[2][3],*p[3];,则以下...
, i , a[i] );} func函数也可以这样写 void func1(int *p,int n)//函数形参为指针 { int i;for( i=0;i<n;i++ )printf("p[%d]=%d\n" , i , *(p+i) );} void main(){ int a[5]={1,2,3};func(a,3); //数组名作参数 ,这是主调用函数 func1(a,3);} 数组...
;}int add(int a,int b){printf("加法函数add被调用:");return a+b;}int sub(int a,int b){printf("减法函数sub被调用:");return a-b;}void main(){//函数指针初步应用int a=1,b=2;printf(" %d+%d=%d\n",a,b,f(add,a,b));printf(" %d-%d=%d\n",a,b,f(sub,a,b)...
void 的作用:对函数返回的限定,这种情况我们比较常见。对函数参数的限定,这种情况也是比较常见的。一般常见的就是这两种情况:1、当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如:void func(int a,char *b)。2、当函数不允许接受参数时,必须使用void限定,这就是...