首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将字符串从二维数组复制到一维数组(数组和指针)

是否可以将字符串从二维数组复制到一维数组(数组和指针)
EN

Stack Overflow用户
提问于 2019-02-10 15:19:10
回答 2查看 82关注 0票数 0

在将字符串从二维数组复制到一维数组时,我发现了一些技巧。所以我通过地址来访问这些值。它在for循环中工作得很好。是一维数组真的是用二维数组值复制的。

代码语言:javascript
复制
char *str[4] = {"i " "California", "ii " "Texas", "iii " "Florida", "iv " "Washington"};        //two dimensional array
int r = 0, c, i = 0;
char *temp;      //one dimesional array

for(r = 0; r < 4; r++){
    c = 0;
    while(*(str[r]+c) != '\0'){
        printf("%c", *(str[r]+c));
        c++;
        temp = &str[r][c];
        printf("%c", *temp);
    }
    printf("\n");
}

return 0;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-10 15:44:55

您可以使用calloc来分配临时指针内存大小。

代码语言:javascript
复制
#include<stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{
    char *str[4] = {"i " "California", "ii " "Texas", "iii " "Florida", "iv " "Washington"};        //two dimensional array
    int r = 0;

    for(r = 0; r < 4; r++)
    {
        char *temp = (char*) calloc (strlen(str[r]) ,sizeof(char));
        strcpy(temp, str[r]);
        printf("%s", str[r]);
        printf("\n");
        free(temp);
    }
    return 0;
}
票数 1
EN

Stack Overflow用户

发布于 2019-02-11 04:35:03

假设:

代码语言:javascript
复制
char array2dim[x][y];

然后创建一个一维数组..

代码语言:javascript
复制
char array1dim[x*y];

memcpy( array1dim, array2dim, x*y );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54614249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档