如何在结构中保存任意数量字符的数组

时间:2015-07-23 13:47:07

标签: c pointers

理解指针以及如何将它们与函数一起使用时遇到很多麻烦。尝试编写一个函数,它接受任意大小的字符数组并将其保存在struct.This是我尝试过但得到seg错误。

select project0_.ID as col_0_0_, . as col_1_0_ from PROJECT project0_ inner join LOCATION location1_ on project0_.ID=location1_.ID_PROJECT

1 个答案:

答案 0 :(得分:5)

问题是,在createNewPassword()函数中,参数password为NULL。您实际上是取消引用NULL指针。它调用undefined behaviour

在使用之前,您需要将内存分配给password

也就是说,您已将password直接传递给createNewPassword()。您无法在该函数内为password分配内存,并希望将其反映到main(),因为C使用按值传递。如果要从main()分配内存,请从password本身分配内存,或将指针传递给createNewPassword()

然后,sizeof(char)保证在1C,您不需要将其作为获取尺寸的乘数添加。这是多余的。