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

关于C语言指针的一个疑义

2013-07-16 
关于C语言指针的一个疑问本帖最后由 cc_xie 于 2013-07-13 17:01:43 编辑int func( void ){char *ptr

关于C语言指针的一个疑问
本帖最后由 cc_xie 于 2013-07-13 17:01:43 编辑


int func( void )
{
    char *ptr = "";
    char *ptrtmp = ptr-1;
    while( ptrtmp < ptr )
    {
      ptrtmp--;
    }
    printf( "ptrtmp >= ptr\n" );
    return 0;
}


问题是 while() 不是死循环,这是为什么呢? 这是涉及到内存的分布问题,还是 char* 的指针值是一个unsigned 型而导致地址 ptrtmp 溢出的问题? 望不吝赐教,在此万分感谢! C 指针 内存
[解决办法]
 答案是
char* 的指针值是一个unsigned 型而导致地址 ptrtmp 溢出
这个问题LZ,你加个LOG就能看出来
※打印指针的值用%p

热点排行