2013-11-23 6 views
-2

Я стремлюсь создать массив указателей, в котором каждый указатель будет указывать на массив strings.for например массива строк такого рода:с массивом указателей, указывающих на строковые массивы

arr=["hello","my","name","is"]; 

и массив указателей такого типа:

pointer[1]=&arr; 

Как я могу объявить массив указателей? это то, что можно создать, но я не уверен, что это правильно. char * (* Line) [Lines (Dictionary)];

я буду более чем рад получить возможное решение вопроса

ответ

2
const char* arr[] = { "hello", "my", "name", "is" }; 
const char** pointer[] = { &arr }; 
+0

Голосование. Простой и, на мой взгляд, элегантный способ сделать это. Никогда не думал об этой возможности раньше :) – pzaenger

+0

Я фактически имел в виду массив указателей, каждый из которых указывал на массив слов. (Например, arr) – user3005945

+0

'pointer' здесь представляет собой массив указателей, каждый из которых указывает на массив слов (в частности, в примере есть массив размера один, а его элемент указывает на 'arr', который представляет собой массив слов). Я думаю, что это то, о чем вы просите - если не объясните, пожалуйста, более подробно. –

0

Вы хотите создать массив указателей, который может содержать адреса строк правой. Ниже приведен простой код.

int main() 

{ 

char * ptr[20];// THIS IS AN ARRAY OF POINTERS. 
ptr[2]="HELLO"; 
ptr[3]="HELLLO"; 
ptr[4]="HELLLLO"; 
ptr[5]="HELLLLLO"; 
int i; 
for(i=2;i<6;i++) 

{ 
    puts(ptr[i]); 
} 

return 0; 
} 
Смежные вопросы