个人是这样理解,char name[50] 是一个长度为 50 的字符数组,占用了一段连续的内存;char *name 是一个字符指针。
fopen 的定义为:
FILE *fopen(const char *path, const char *mode);
所以你的实参 path 应该是一个内存地址,传递给 *path指针,而不是传递一个指针。
望采纳。
因为一个单纯的野指针没有对应的内存,而数组是有内存的
你给一个野指针赋值字符串,就是在给一个随机内存地址赋值
系统会保障你的程序只能操作你自己程序占用的内存,不可以随便去操作别的程序占用的内存
char*是指针,指针是指向地址的,直接创建指针变量,它指向的是一个随机地址,相当于野指针
你可以创建数组后将数组的地址给创建的指针变量才行!
char是一个指针,你这要用char的话要写个字符数组,把它的地址给char*