学点 C 语言(20): 数据类型 - 指针(3)
// p = &n2; /* 现在不可以改变指针的指向了 */
// printf("%d, %p, %dn", n2, p, *p);
getchar();
return 0;
}
8. 指针是有类型的:
#include
int main(void)
{
long n = 100L;
float f = 1.5f;
double d = 3.14159265;
long *p1 = &n;
float *p2 = &f;
double *p3 = &d;
printf("%ldn", *p1);
printf("%gn", *p2);
printf("%.8fn",*p3);
getchar();
return 0;
}
9. 令人迷惑的指针定义:
到底应该怎样写:
int *p;
int * p;
int* p;
因为 C 语言忽略空白, 这些都是对的, 但下面的例子会说明哪个更好:
#include
int main(void)
{
int n1, n2, *p; /* 定义了两个整数(n1、n2), 和一个整数指针(p) */
n1 = 111;
n2 = 222;
p = &n1;
printf("%d, %pn", *p, p);
p = &n2;
printf("%d, %pn", *p, p);
getchar();
return 0;
}