C不正确的字符串赋值或赋初值方式是

2025-02-23 23:18:32
推荐回答(3个)
回答1:

char str1[10]; //申明一个字符数组str1, 为其分配10个字节空间。str1是这个数组的地址起始
str1="string"; //对于一个地址来说。它只能接受已经开辟了空间的地址,而不是某个数值或者其他类型数据。如:

char* p = malloc(sizeof(int)); 或者 int a = 9; int *p = a;
上述都是系统给其分配了空间,(mallo或者自动分配)。而“string“是一个字符串还没有占内存空间,所以赋值错误!

回答2:

char str1[10]="string"; 这样初始化是可以的

char str1[10]; str1="string"; 指针str1是不能存放字符串的,只能具体赋值如:str1[0]='s';

回答3:

应该是C吧