gpt4 book ai didi

c - 如果在 C 中没有使用指定大小的括号,那么数组指针究竟是如何创建的?

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:32 25 4
gpt4 key购买 nike

我对 C 中的指针感到很困惑。我发现很难全神贯注于创建指针和传递东西?添加代码后出现“段错误:11”错误,之前它在其中工作。需要添加一些东西。这是代码的一部分:

char *token2;
char *line2;
char comma_loc = 0;
int num_of_commas = 0;
char *line2[1];

while(token != NULL) { //lets make sure token has a string token
//printf("Wats in token: %s\n", token);
if(key==true) {
//printf("This should be an identifier: %s\n", token);

if(comma != true) { //added if statement, just take away if it fails, the first case is the original
int len = strlen(token);
iden_holder[iden_holder_count] = (char *)malloc(sizeof(char) * (len +1));
memcpy(iden_holder[iden_holder_count], token, len +1);
iden_holder_count++;
key = false;
} else {

int len2 = strlen(token);
line2[0] = (char *)malloc(sizeof(char) * (len2 + 1));
memcpy(line2[0], token, len2 + 1);
token2 = strtok(line2[0],",");
while(token2 != NULL) {
int len = strlen(token2);
iden_holder[iden_holder_count] = (char *)malloc(sizeof(char) * (len +1));
memcpy(iden_holder[iden_holder_count], token, len +1);
iden_holder_count++;
token2 = strtok(line2[0],",");
}
key = false;

}

这段代码的要点是获取 token 中的字符串并将其复制到另一个 token 中,在我的例子中是 token2。我决定使用 memcpy,但由于指针困惑,我不知道如何使用它。还要注意,我之前用过strtok,这里的代码在in里面,难道再用它会覆盖另一个?

最佳答案

阅读this完全地。它将帮助您掌握基础知识。它对我有用。 :)

关于c - 如果在 C 中没有使用指定大小的括号,那么数组指针究竟是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com