gpt4 book ai didi

c - 从类型 'char[5]' 分配给类型 'char *' 时的类型不兼容

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:39 25 4
gpt4 key购买 nike

char types[5];
switch(buffer[9]){
case 1:
types = "ICMP";
break;

错误:

 incompatible types when assigning to type 'char[5]' from type 'char *'

我该如何解决这个错误?

谢谢。

最佳答案

不改变它的类型就无法修复它。

数组值是不可修改的左值。如果您打算始终为其分配一个字符串文字,请将其声明为 const char * 而不是数组:

const char *types;
switch(buffer[9]){
case 1:
types = "ICMP";
break;

如果您以后想更改types 的内容,则将其保留为数组并仅使用strcpy() 或更安全的变体strncpy() :

char types[5];
switch(buffer[9]){
case 1:
strncpy(types, "ICMP", sizeof(types));
break;

关于c - 从类型 'char[5]' 分配给类型 'char *' 时的类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com