假设我有一个结构数组,它们被定义为
typedef struct myS
{
int content;
char *string;
} myT;
我想通过一个指针来改变第0个元素的字符串的值,这样就不必直接通过结构来访问它。
我所做的如下:
myT *tArray;
char **pString;
tArray = malloc(sizeof(myT));
tArray[0].string = "hello";
pString = malloc(sizeof(char *));
*pString = tArray[0].string;
我所期望的是,既然pString
指向tArray[0].string
,那么应用于tArray[0].string
的任何更改都应该反映在*pString
上,毕竟,int
和*int
就是这样。
第一次
我真的不明白为什么pString
在这里仍然指向"hello"
。
是否有办法通过另一个变量修改结构的值?
1条答案
按热度按时间bxjv4tth1#
您是否希望获得以下结果?
然后,将
.string
的地址设置为pString
,如下所示: