在C字符串指针数组 [英] array of string pointers in C
本文介绍了在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
推荐答案
有两个错误:
- 您声明
的char * array_2d [3]
这意味着你有3指标0到2的数组的大小,但您分配array_2d [3 ] =&放大器; array4:
- 您的变量
数组1
到array4
已的char *
所以正确分配元素array_2d
是array_2d [0] =数组1
等
- you declare
char *array_2d[3]
which means your have an array size of 3 with indexes 0 to 2 but you assignarray_2d[3] = &array4:
- your variables
array1
toarray4
are alreadychar *
so the correct assignment to elements inarray_2d
would bearray_2d[0] = array1
and so on
这篇关于在C字符串指针数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文