关于指针和数组的辨析
写一个截取字符串的片段
#include "string.h"
#include "stdio.h"
void main()
{
char s[]="d:\\090807\\112405.mpg";// A 如果改成 char *s="d:\\090807\\112405.mpg"
char *p;
char *Name;
Name=strrchr(s,'.');
*Name=0; // B处
p=strrchr(s,'\\');
p=p+1;
printf("%s\n", p);
}
output 112405,这个是正确的,但是如果改成注释的那样,编译没有问题,但单步运行在B处就会出错,这是怎么回事呢,不是说数组名s和指针s是一个意思吗?请辨析一下