char* a=(char*)malloc(sizeof(char));a="abdkjdkfjd"这样安全吗?
2个回答
展开全部
不安全,
sizeof(char)只是给指针分配了 1个字节的空间。
可以申明成 char *buff=(char *)malloc(512),这样才能存放更多的数据.
也不一定512。
或者直接用数组
char a[]="abdkjdkfjd";
补充回答,用a="abdkjdkfjd",这样的方式如另外一位兄弟说的也是不安全的。可以使用字符串拷贝的方法,strcpy(buff,"abdkjdkfjd");不过buff的大小要事先分配好,512不够用的话就分配更大的空间。
sizeof(char)只是给指针分配了 1个字节的空间。
可以申明成 char *buff=(char *)malloc(512),这样才能存放更多的数据.
也不一定512。
或者直接用数组
char a[]="abdkjdkfjd";
补充回答,用a="abdkjdkfjd",这样的方式如另外一位兄弟说的也是不安全的。可以使用字符串拷贝的方法,strcpy(buff,"abdkjdkfjd");不过buff的大小要事先分配好,512不够用的话就分配更大的空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询