如何更改char *指向的值?

时间:2015-08-19 12:27:11

标签: c pointers

我使用char*来存储一些变量值,但是我无法更改其值。如果有人可以建议一种方法.....对我来说将是一个救生员......

char* year=""; //definition as empty
get_data(){
  year=  //"Here I want to give it another value of another variable(also in char*)"
}

2 个答案:

答案 0 :(得分:0)

答案简短(不要这样做):

#include <string.h>
...
strcpy(year, "your new string");

不这样做的原因是你不拥有year指向的内存。相反,您应该将year声明为char year[100],这会在堆栈上为您分配内存。然后你可以将一个字符串复制到其中。

答案 1 :(得分:-1)

char year[1024] = {0}; // Null terminated, so empty string.
get_data() {
    strcpy(year, "some value");
}