关于指针
来源:10-5 从函数指针到仿函数模板
学以致用over
2022-04-11
int arr[] = {4, 3, 2, 1, 7};
int *p = (int *) malloc(sizeof(int) * 10);
int *p2 = new int(10);
const char *p3 = "1,2,3";
// int *p4 = {1,2,3,4};
// const int *p5 = {1, 2, 3, 4};
老师,为什么char *p3 = “1,2,3”;可以,但是int *p4 = {1,2,3,4};就不行呢?不都是指向常量空间吗?
写回答
1回答
-
C语言中数组不可以直接赋值给指针,只能将数组首地址赋值给指针。const char *p3 = "1,2,3" 其实就是将字符串首地址赋给p3;
int *p4 = {1,2,3,4};不行的,int *p4 = arr;则可以。
152022-04-12
相似问题