【发布时间】:2020-06-26 07:11:27
【问题描述】:
C语言如果
char *ptr1 = "something";
是允许的,那为什么不呢
int *ptr2 = {1,2,3};
不允许?
【问题讨论】:
-
这是语言的设计方式。但不可否认,这将是该语言的一个有用特性。
-
简单来说,字符串字面量是一个数组对象,而
{1,2,3}只是一个初始化列表。可以指向数组的第一个对象,但不能指向初始化列表。
标签: c pointers initialization