2013-10-12 1 views
-3

Un moyen de compter le nombre de mots dans les tableaux de pointeurs suivants?Pointer arrays?

#include<iostream.h>   
void main() 
{  
char *city[2]={"America","England"}; 
while(city[0]!='\0') 
    { 
     count++; 
    } 
    cout<<count; 
} 

Si l'on obtenir l'adresse de A alors il peut être possible, mais comment accéder à l'adresse de « A'd'Amérique.

En faisant tout ce qui suit je pourrais pu récupérer l'adresse du tableau de ptr pas A.

cout<<&city[0]<<endl; 
cout<<&city<<endl; 
cout<<city<<endl; 
cout<<city[0]<<endl; 
cout<<*(&city[0])<<endl; 
cout<<&(*city)<<endl;  // Question ??? Again address of ptr. 

Aidez-moi.

+0

pense ... Il est '& ville [0] [0]'. –

+0

Former un titre utile, mec! – Sliq

+0

Merci H2CO3 ... la meilleure réponse par vous .. – user2873246

Répondre

1

Vous pouvez compter le nombre de caractères dans la chaîne car il se termine par '\ 0'. Mais le tableau statique n'est pas une chaîne.

Vous ne pouvez pas compter la taille du tableau statique. Vous devez introduire une variable pour le stocker.

Si vous ne voulez pas introduire la variable supplémentaire, je recommande d'utiliser std :: vecteur au lieu de tableau: http://en.cppreference.com/w/cpp/container/vector

#include<iostream.h>   
void main() 
{  
    std::vector<char *> city(2); 
    city[0] = "America"; 
    city[1] = "England"; 
    const int count = city.size(); 
    cout<<count; 
}