指针越界问题
在学习视频的时候,敲了下代码,发现在当指针数组的元素数量没有循环变量i多的时候,会出现以下结果#include <stdio.h>
int main()
{
int i,j;
char *books[] = {
"<C语言程序设计>",
"<C专家编程>",
"<C和指针>",
"<C陷阱与缺陷>",
"<C Primer Plus>",
"<带你学C带你飞>"};
char **fishc;
char **jiayulikes;
fishc = &books;
for(i = 0; i < 5; i++)
{
jiayulikes = &books;
}
printf("%s\n", *fishc);
for(i = 0; i < 5; i++)
{
printf("%s\n ", *jiayulikes);
}
return 0;
}
从上面的结果发生变化 指针数组还是个数组,所以这个本质上不就是数组下标越界嘛,jiayulikes这个数组长度为4,但却访问了它的第五个元素。
页:
[1]