vs2022 char* a[] = { "work","at","alibaba" };运行不过去
时间: 2023-11-09 14:06:28 浏览: 10
这是因为你的代码中使用了 C++11 中的初始化列表,而 VS2022 默认的编译选项不支持这种语法。你可以在编译选项中添加 /std:c++latest 来启用 C++11 的支持,或者将初始化列表改为传统的数组初始化方式,如下所示:
```c++
char* a[] = { "work", "at", "alibaba" };
```
改为:
```c++
char* a[] = { "work", "at", "alibaba" };
```
相关问题
char *o = a与char *o=char *a的区别
`char *o = a` 是将指针 `o` 指向了指针 `a` 指向的内存空间,或者说是把 `a` 的地址赋值给了 `o`,这样指针 `o` 和指针 `a` 指向的是同一片内存空间,两者相互影响。
而 `char *o=char *a` 是一个语法错误,应该写成 `char *o = a`,表示将指针 `o` 指向指针 `a` 指向的内存空间。如果写成 `char *o=char *a`,编译器会提示语法错误。
char *a=”china”; 等价于 char *a; *a=”china”
选项 A)char *a=”china”; 等价于 char *a; *a=”china” ; 是错误的。
在选项 A)中,char *a=”china”; 是将字符串常量 "china" 的地址赋值给指针变量 a。这是一种常见的字符串赋值方式。然而,等号右边的 "china" 是一个字符串常量,它存储在只读内存区域。指针变量 a 指向该只读内存区域,表示它指向字符串的首字符。
在 *a=”china” 的语句中,*a 表示解引用指针 a,即取出指针所指向的内存位置的值,并将其赋值为 "china"。然而,由于 "china" 存储在只读内存区域,这个操作会导致运行时错误。
正确的方式应该是声明一个指针变量 a,并分配足够的内存空间来存储字符串,然后使用 strcpy 函数将字符串复制到指针所指向的内存区域。
正确的代码应该是:
```c
char *a;
a = malloc(strlen("china") + 1); // 分配内存空间
strcpy(a, "china"); // 复制字符串
```
这样可以确保字符串被正确地复制到指针所指向的内存空间中,而不是指向只读内存区域。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)