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

C语言之实际问题——指针赋值

2015-06-06 10:20 381 查看
C语言之实际问题——指针赋值

代码:

const u8 testbuf[20]={0}

void fun(u8 mode)

{

u8* ptbuf=0;

switch mode:

case 1:

ptbuf = testbuf;

printf(ptbuf);

;break;

case 2:

ptbuf[0]=1;

ptbuf[1]=1;

printf(ptbuf);

;break;

}

上述代码,case1是正确的;

cse2是错误的,函数只分配了ptbuf这个指针的存储空间1个单元,当给赋值ptbuf[0]任然是正确的,但是当赋值ptbuf[1]是就会导致堆栈溢出,产生fault.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: