Click here to Skip to main content
11,921,835 members (65,677 online)
Rate this:
Please Sign up or sign in to vote.
See more: C++

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?

Posted 22-May-13 1:23am
Edited 22-May-13 1:25am
Maximilien 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
Please Sign up or sign in to vote.

Solution 1


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,
Rate this: bad
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.
  • Add a sentinel element to the array, namely a NULL pointer at the end of the array.

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

  Print Answers RSS
0 OriginalGriff 538
1 Dave Kreskowiak 260
2 Sergey Alexandrovich Kryukov 173
3 phil.o 170
4 RyanDev 134
0 OriginalGriff 7,036
1 KrunalRohit 4,530
2 Sergey Alexandrovich Kryukov 3,286
3 George Jonsson 2,840
4 Suvendu Shekhar Giri 2,216

Advertise | Privacy | Mobile
Web02 | 2.8.151120.1 | Last Updated 22 May 2013
Copyright © CodeProject, 1999-2015
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