Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++
hii
 
I am using two dimensional char array of pointers for saving list of names as follows :
 
int size;
 
char** name;
name=new char*[size];
 
I am reading the "size" from the user and then I am storing the names entered by the user in this array.
 
Now my question is through my code how can i get the size of this array, i.e I wanted to know how many names are being read?
 
Thankss
Posted 22-May-13 1:23am
AsthaS453
Edited 22-May-13 1:25am
v2
Comments
Maximilien at 22-May-13 8:42am
   
Since this is tagged as C++ , I would suggest using a vector of string instead of arrays of char*; it will help you a lot.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi,
 
actually you cannot do thi, because the array is allocated dynamically (= you use operator new to allocate it). As a result you have to remember the length of the array in a variable (such as size that you have) and you need to pass this size as a parameter to all methods/functions that need to be aware the size.
 
(If you are using this code in method of a class, you can store the size of the array in a member variable and so avoid the need to pass it to the member methods as a parameter.)
 
Hope this helps.
 
Best regards,
J.K.
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

There are basically two techniques, either:
 
  • (As already suggested by Kucera Jan) make a copy of the size parameter and use it when needed.
or
  • Add a sentinel element to the array, namely a NULL pointer at the end of the array.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 304
1 Sergey Alexandrovich Kryukov 295
2 Shweta N Mishra 216
3 Maciej Los 210
4 PIEBALDconsult 184
0 OriginalGriff 7,630
1 Sergey Alexandrovich Kryukov 7,022
2 DamithSL 5,586
3 Manas Bhardwaj 4,946
4 Maciej Los 4,525


Advertise | Privacy | Mobile
Web04 | 2.8.1411023.1 | Last Updated 22 May 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100