您的位置:首页 > 编程语言 > C语言/C++

C语言指针的五种错误用法(转)

2010-09-16 00:13 447 查看

今天在在线讲堂《c与指针》学习到的。

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 <stdio.h>



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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: