const char *p 和 char * const p;的区别 ?
                                             参考答案:
                                         
                                        const char *p 和 char * const p 在 C 或 C++ 语言中表示两种不同的类型,并且它们有不同的含义和用途。
- 
const char *p:p是一个指向const char的指针。- 这意味着你不能通过 
p来修改它所指向的字符。换句话说,你不能使用p来改变它所指向的内存位置上的值。 - 但是,
p本身(即指针变量)是可以被修改的,所以你可以改变p指向不同的内存位置。 - 例如:
 
c`const char *p = "Hello"; p = "World"; // 可以改变 p 的指向 *p = 'h'; // 错误:不能通过 p 修改它所指向的字符` - 
char * const p:p是一个const指针,指向char。- 这意味着 
p一旦被初始化指向某个内存位置,就不能再被改变指向其他位置。 - 但是,你可以通过 
p来修改它所指向的内存位置上的值。 - 例如:
 
c`char str[] = "Hello"; char *const p = str; p = str + 1; // 错误:不能改变 p 的指向 *p = 'w'; // 正确:可以通过 p 修改它所指向的字符` 
这两种类型在编程中都有用,选择哪种类型取决于你的具体需求。如果你想要一个不能被改变指向的指针,但是可以通过这个指针来修改数据,那么你应该使用 char * const。如果你想要一个可以通过指针来改变数据的指针,但是不想让这个指针被改变指向,那么你应该使用 const char *。