c语言使用指针做加减函数 c语言指针加一

c语言中指针加减问题,求解答。

嗯,没错,对指针的加减运算是以步长为单位的,不过这是对编译器来讲的。但是对于机器来讲,指针也是二进制数据,在机器内对它们进行运算和一般的数据是一样的,只是因为编译器知道它们是指针,所以编译器告诉你的是指针之间的步长。以下是一个测试的程序,应该能说明问题吧,仅供参考:

成都创新互联公司是一家专注于成都网站建设、网站建设与策划设计,正阳网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:正阳等地区。正阳做网站价格咨询:18982081108

#includestdio.h

#includestdlib.h

void

main()

{

float

a[10],*p,*q;

p=a[4];

q=a[7];

printf("p:

0x%0xd\n",

p);

printf("q:

0x%0xd\n",

q);

printf("p-q:

%d\n",

p-q);

printf("p+3-p:

%d\n",

p+3-p);

system("pause");

}

c语言指针变量之间可以进行加减运算?

可以啊指针其实也是一个内存单元,存放了一个地址,变量也是一个内存单元,存放了一个变量。减了就是吧指针这个内存单云存放的地址减了。

c语言中指针可不可以用在自增自减运算符中

可以使用。

对于TYPE *类型的p,可以使用p++或p--来实现p移动位置,指向下一个或上一个元素的效果。

在C语言中,指针的本质为地址,所以当TYPE*类型的指针在进行++或--运算时,其指向的地址值,会实际增加或减少TYPE所占内存的大小。也就是说,从数值上,当p++时,值会增加sizeof(TYPE), 当p--时,值会减少sizeof(TYPE)。

c语言:程序填空 利用指向函数的指针实现函数调用,完成可选择的加减乘除运算

/*Please input the expression a+(-*/)b:

9/3

9 / 3 = 3

Press any key to continue

*/

#include stdio.h

int add(int x,int y) {

printf("%d + %d = ",x,y);

return x + y;

}

int sub(int x,int y) {

printf("%d - %d = ",x,y);

return x - y;

}

int mult(int x,int y) {

printf("%d * %d = ",x,y);

return x * y;

}

int dev(int x,int y) {

printf("%d / %d = ",x,y);

return x / y;

}

void main() {

int (*funp)(int,int);

char op;

int x,y;

printf("Please input the expression a+(-*/)b:\n");

scanf("%d",x);

scanf("%c",op);

scanf("%d",y);

switch(op) {

case '+' : funp = add; break;

case '-' : funp = sub; break;

case '*' : funp = mult; break;

case '/' : funp = dev; break;

default : printf("Operator is illegal;\n");

}

printf("%d\n",funp(x,y));

getchar();

}


网页标题:c语言使用指针做加减函数 c语言指针加一
分享路径:http://azwzsj.com/article/dopcchp.html