我想创建一个动态的二维数组,以以下方式存储字符串 -
a[0][0] = "element 1"
a[0][1] = "element 2"
但我不知道如何去做。
关于这个问题,我并没有头绪。a[0][0] = "element 1"
a[0][1] = "element 2"
但我不知道如何去做。
关于这个问题,我并没有头绪。#include <stdio.h>
int main(void)
{
char * strs[1][3]; // Define an array of character pointers 1x3
char *a = "string 1";
char *b = "string 2";
char *c = "string 3";
strs[0][0] = a;
strs[0][1] = b;
strs[0][2] = c;
printf("String in 0 1 is : %s\n", strs[0][1]);
printf("String in 0 0 is : %s\n", strs[0][0]);
printf("String in 0 2 is : %s\n", strs[0][2]);
return 0;
}
在C语言中,一个二维字符串数组可以用一个三维字符指针数组来表示。
// allocate space for the "string" pointers
int size = height + (height * length);
char*** a = malloc (size * sizeof (char*));
//setup the array
for (i= 0; i< height; i++)
{
a [i] = a + (height + (length * i));
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char * strs[0][3];
strs[0][0] = "string 1";
strs[0][1] = "string 2";
strs[0][2] = "string 3";
printf("String in 0 0 is : %s\n", strs[0][0]);
printf("String in 0 1 is : %s\n", strs[0][1]);
printf("String in 0 2 is : %s\n", strs[0][2]);
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char * strs[][3] = {
{"string 11", "string 12", "string 13"},
{"string 21", "string 22", "string 23"}
};
printf("String in 0 0 is : %s\n", strs[0][0]);
printf("String in 0 1 is : %s\n", strs[0][1]);
printf("String in 0 2 is : %s\n", strs[0][2]);
printf("String in 1 0 is : %s\n", strs[1][0]);
printf("String in 1 1 is : %s\n", strs[1][1]);
printf("String in 1 2 is : %s\n", strs[1][2]);
system("pause");
return 0;
}