#include <stdio.h>
int main()
{
int i;
int* pI;
char* pC;
float* pF;
pI = &i;
printf("%0X, %0X, %d\n", pI, &i, i);
printf("%d, %d, %0X\n", sizeof(int*), sizeof(pI), &pI);
printf("%d, %d, %0X\n", sizeof(char*), sizeof(pC), &pC);
printf("%d, %d, %0X\n", sizeof(float*), sizeof(pF), &pF);
return 0;
}
P指针 直接打印是i的地址,&p这个是直接打印的指针的地址,和数组是有区别的。看下面的程序
#include <stdio.h>
// another file
// char* p = "Hello World!";
extern char p[];
int main()
{
printf("%s\n", p);
return 0;
}
以上程序打印出来一个乱码。
更改程序:
#include <stdio.h>
extern char* p;
int main()
{
printf("%s\n",p);
return 0;
}
或者
#include <stdio.h>
extern char p[];
int main()
{
printf("%s\n",(*((int* )(char*)p)));
return 0;
}
指针的运算:
扫描二维码关注公众号,回复:
1868369 查看本文章
数组的访问
数组作为函数的参数: