【发布时间】:2021-09-07 22:14:06
【问题描述】:
#include <stdio.h>
int main() {
int i,j=1;
int *jp1,jp2 = &j;
jp1 = jp2;
i = ++(*jp2);
// *jp2 = *jp1 +i; // [Error] invalid type argument of unary '*' (have 'int')
printf("i = %d,j = %d , *jp1 = %d , *jp2 = %d\n",i,j,*jp1,*jp2);
return 0;
}
【问题讨论】:
-
您已将
jp2声明为int,而不是指向 int 的指针。试试int *jp1, *jp2 = &j; -
*是变量,而不是类型。 -
Aaa 这就是为什么将多个变量声明塞进一行是一个坏主意。教你这样做的人需要改进。
标签: c pointers declaration dereference