在C字符串指针数组 [英] array of string pointers in C

查看:259
本文介绍了在C字符串指针数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道,在C字符串基本上都是字符数组。

I know that strings in C are basically an array of characters.

我是想有一个指针数组,其链接到字符串指针

I was trying have an array of pointers, pointers which link to the strings

我基本上想打印出来,而不依赖的'\\ n'对它进行排序

I basically wanted to print this out, without depending on '\n' to sort it

12345
abcde
67890
fghij

这是我的code - >

This is my code - >

char *array1 = "12345";
char *array2 = "abcde";
char *array3 = "67890";
char *array4 = "fghij";

char *array_2d[3];

array_2d[0] = &array1; 
array_2d[1] = &array2; 
array_2d[2] = &array3;
array_2d[3] = &array4;

int i,j;

for(i = 0; i<3 ; i++ ) {
    for(j = 0; j<3 ; j++) {
        printf("%c", array_2d[i][j]);
    }
}

我可能会犯错误,所以任何线索将AP preciated

i might be making mistakes, so any clues would be appreciated

推荐答案

有两个错误:


  1. 您声明的char * array_2d [3] 这意味着你有3指标0到2的数组的大小,但您分配 array_2d [3 ] =&放大器; array4:

  2. 您的变量数组1 array4 的char * 所以正确分配元素 array_2d array_2d [0] =数组1

  1. you declare char *array_2d[3] which means your have an array size of 3 with indexes 0 to 2 but you assign array_2d[3] = &array4:
  2. your variables array1 to array4 are already char * so the correct assignment to elements in array_2d would be array_2d[0] = array1 and so on

这篇关于在C字符串指针数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆