char *ip1=(char *)malloc(sizeof(char)*16);
//不要用const char*
//char *ip1="192.168.0.1"; //malloc 分配的内存相当于数组,数组的赋值显然不能这样sprintf(ip1,"%s", "192.168.0.1");
//可以对其修改。
strcpy(ip1,"abcdefg");
相反:const char *ip1 = "192.168.0.1";
//字符串的字面值是在只读常量区,要用const char *, 显式的说明这个变量不可改。
typedef struct _a{
char *nm[2];
}a;
int main(void){
a *aaa;
aaa->nm[0] = (char *)malloc(strlen("Device.") + 1);
strcpy(aaa->nm[0],"Device.");
//strcpy(aaa->nm[1],"weer");
char *name = aaa->nm[0];
if ( name[strlen(name)-1] == '.' )
{
name[strlen(name)-1] = '\0';
}
printf("%s",name);
return 0;
}