大一新生一名,在自学指针变量,有两个问题
1.#include<stdio.h>int main()
{
int a; //这个不成立,就是不能对指针赋值,这个是因为指针其实是个完全新的变量,不同于int,float,所以不能对它赋整数值吗?
int*g;
*g=2; //如果加个g=&a,就可以对它赋值,但其实赋给了a,这个是语法问题吗,只能背下来吗?可不可以解释一下。
printf("%d",*g);
return 0;
}
2.#include<stdio.h>
int main()
{
int*g;
*g=2;
printf("%d",(int)*g);和printf("%d",*(int*)g)有什么差别吗?感觉都输出同样的值
return 0;
}
希望有人能解释一下,好吗?