指针数组:a[3][4]的a[i]赋值给*p[2]的p[i](i从0到2)
大家好!若通过一个指针数组引用二维数组元素,书上说指针数组包含的元素个数须大于或等于a[3][4]的行数,即3。但试验时,用2甚至1,都能得出正确的运行结果。main(){int *p[2],a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11},i;for(i=0;i<3;i++)p[i]=a[i]... 展开
其他答案
这是侥幸现象*p[2]只分配了2个4字节的内存单元,p[1]后面那些内存单元是干什么用的,我们就不知道了,你强行给p[2]赋值,计算机也没办法,只好按你的要求把数改上,然后你去访问,他也没办法,还得让你访问…… 这只是侥幸,因为别的程序没有使用这块儿内存,要是别的程序使用了呢?人家好好的运行着的程序,让你偷偷的把人家的变量给改了,那个程序是不会知道的,还照样去读数,结果……当然,window 展开
2010-12-09 12:21
来自北京市
评论(0)赞(0)点赞赞(0)
房天下知识为您分享了一条干货
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。