1。指针一定要初始化
**************************************
错误代码:
char *p;
strcpy(p,"hello world");
正确代码
char buf[1024];
char *p = buf;
strcpy(p ,"hello world");
**************************************
2。函数的返回值不能使局部变量的地址
**************************************
错误代码
int *f(int a)
{
int *p;
int b;
b = a;
p = &b;
return p;
}
**************************************
3。指针指向的空间不能使已经失效的
4。指针的移动取决于指针类型
**************************************
示例代码
#include
int main(void)
{
int a[5],int i,int *p;
for(i = 0,p = 1;i <5;i++,p++)/*p累增,向后加sizeof(int)*/
printf("%d/t",*p);
return 0;
}
5。NULL指针永远不能访问
***************************************
错误代码
char ch;
void f(char *p)
{
p = &ch;
}
int main(void)
{
char *p = NULL;
f(p);
*p = 'A';
return 0;
}