char *w 代表一个指向字符的指针,其可以指向一个字符或连续多个的字符,在编译期无法保留对应内存块长度。如:
char c = 'w';
char *w = &c; // 指向单个字符
char *w = "www"; // 指向多个连续字符
char w[] 和指针概念类似,但是在编译期可以保留对应内存块的长度,长度在声明或定义时编译器会自动推导。如:
char w[] = "www"; // 这里w的类型编译器会自动推导为 char[3]
前者是直接定义的指针! 后者是定义一个c的数组但是赋值时给的是一个空字符串!这样数组c的长度为一!即只保存了字符串的结束符!
char*w
字符指针
char c[]="";
字符数组
指针,数组
头一个是指针声明 后一个是数组声明~具体可以百度百科这两个词