C语言 *p 和p的区别?

看得真模糊,可以的话举个列子说说
一般什么情况用指针做题好?好像有的可以不用指针
常见的有哪些

第1个回答  2010-01-26
第一个:p为带回一个指针的函数,该指针指向double型数据,第二个:p是指向函数的指针,该函数返回double型值
第2个回答  2010-01-26
P是指一个变量,它代表一个数值,*P则代表一个地址
第3个回答  2010-01-26
void ergod(void (*doit)(int)) {
int i;
for (i = 0; i < 10; i++){
doit(i);
}
}

void printA(int a){
printf("a:%d\n",a);
}

void printB(int a){
printf("b:%d\n",a);
}

int main(){
//ergod(printA);
ergod(printB);
return 0;
}

这是一个函数指针的应用
运行时根据你传的不同的函数指针而执行的不同的操作
打印出
b:0

b:1

b:2

b:3

b:4

b:5

b:6

b:7

b:8

b:9
第4个回答  2019-05-04
借用一楼的回答,打印的时候,你可以参照下述打印,可能你就明白了。
int x = 3;
int *p, *q;
p = &x, q = &x;
printf("p=%p,p=%d\n", p, *p);
printf("%d\n", *p++);
printf("p=%p,p=%d\n", p, *p);
printf("-----\n");
printf("%d\n", (*q)++);
printf("%d\n", x);
你打印的结果应该是:
p=某地址,p=3
Q=3
p=某地址+4/8(根据系统位数是4或者8),p=随机值
-----
Q=3
Q=4
第5个回答  2019-12-21
加型号的在线语言中C语言中是指嗯指针,指针型变量不加型号的是普通的变量
相似回答