首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大伙儿看看这段代码为什么会产生野指针

2013-09-05 
大家看看这段代码为什么会产生野指针#include stdio.h #include string.hchar* screen_on(char* retur

大家看看这段代码为什么会产生野指针
#include <stdio.h> 
#include <string.h>

char* screen_on(char* returnBuff)
{
int i;
char buff[6] = {0xA0, 0xA1, 0x1D, 0xD1, 0xC1, 0xD2};
strcpy(returnBuff, buff);
return returnBuff;
}

int main() 
{
int i;
char buff[128] = {0};
    screen_on(buff);
for(i = 0; i < sizeof(buff)/ sizeof(char); i++)
{
printf("%d ", buff[i]);
}
printf("\n");

return 0;
}

[解决办法]
没有产生野指针啊
[解决办法]
strcpy(returnBuff, buff);
改为:
strncpy(returnBuff, buff, 6);
[解决办法]

引用:
Quote: 引用:

没有产生野指针啊


不知道是不是野指针,但是打印出来的结果不止六个数字,多出来的数字应该是野指针造成的吧,我自己猜测的


野指针:定义了一个指针类型,确没有给其确定的地址值,导致不知道它的实际地址,
指针实际指向不明确,称之为野指针(个人理解)

你那个可能是后面多余的垃圾数据而已!不是野指针!

热点排行