char *a = "123";这行代码在c++为什么是非法的,在c语言是合法的
时间: 2023-05-26 21:04:51 浏览: 102
在C语言中,声明指针的时候需要指定它所指向的数据类型,例如char *a表示a是一个指向字符型数据的指针。但是,初始化指针的时候可以省略数据类型的声明,例如 char *a = "123"就是一个合法的语句。这种语法被称为字符串常量初始化,它等价于使用静态存储区分配一个字符串常量,并将它的地址赋值给指针a。因此,在C语言中,这是一个合法的语句。
阅读全文