【发布时间】:2018-08-15 02:01:27
【问题描述】:
char **gbuffer = NULL;
void dump(char **buffer)
{
int i;
buffer = realloc(buffer, 50 *sizeof(char **));
for(i = 0 ; i < 10; i++)
{
buffer[i] = malloc(50 *sizeof(char));
buffer[i] = gbuffer[i];
}
printf("string is %s\n", buffer[0]); //able to access here
}
int main()
{
char **buffer = NULL;
gbuffer = realloc(gbuffer, 50 *sizeof(char **));
int i;
for(i =0 ;i < 10; i++)
{
gbuffer[i] = malloc(50 * sizeof(char));
strcpy(gbuffer[i], "ashish");
}
dump(buffer);
printf(" global string is %s\n", gbuffer[0]);
printf("string is %s\n", buffer[0]); //not able to access this value
return 0;
}
我可以访问 dump() 中的缓冲区,但无法访问 main 中的变量。 如何访问 main() 中的缓冲区 [0]? 我附上了伪代码。
【问题讨论】:
-
这还能编译吗?
-
你没有为你的
buffer分配任何内存。 -
我知道,我只是想知道如何访问缓冲区的值 我是 C 新手
-
memcopy(&buffer, &gbuffer, sizeof(gbuffer));与buffer = gbuffer;相同 -
我附上了伪代码,请看。帮助
标签: c