C++ :: Dynamic Array Of Pointers Declaration?
Jan 30, 2013
I am attempting to declare an array of pointers dynamically based on user input. I am not sure if A) I'm implementing the syntax of declaring a dynamic array correcntly and B) if my code is set up correctly to print otherwise.
int array_size;
cout << "Please enter the size of the array: " << endl;
cin >> array_size;
if(array_size >= 8) {
cout << "Invalid array size, please enter a valid integer size";
cin >> array_size;
[Code] .....
View 1 Replies
ADVERTISEMENT
Jun 11, 2013
I have a little problem with one of my functions. The function purpose is to get a number (n) and create an array (size n) with pointers to strings (each string length is 20 chars) and i don't know why but during the debugging i get a <bad ptr> message and this message :
CXX0030: Error: expression cannot be evaluated
This is my function:
Code:
char** getlist(int n) {
int i=0;
char **arr;
arr=(char**)malloc(sizeof(char)*n);
if (arr==NULL)
[Code] ....
View 8 Replies
View Related
Sep 23, 2014
I know that the synatx for a dynamic array of values is, for example:
int* a = new int[size];
And i understand that "a" is a pointer to the 1st element of the array on the heap.
Now, the syntax for a dynamic array of pointers is:
int** b = new int*[size];
View 4 Replies
View Related
May 23, 2013
Suppose I wished to reallocate memory (resize) an array of pointers. Why does the following not work?(The program runs, yet yields a faulty segmentation error message. Why?):
Code: char **ptrarr = (char**) malloc(sizeof(char*))
Code: ptrarr = (char**) realloc(ptrarr, (capacity) * sizeof(char*));
View 14 Replies
View Related
Dec 10, 2013
I started to practice some C++. I use to program in C and a little C++. Anyway, I am writing code that creates a dynamic array. I would like to be able to do something like
galaxyobject[object] -> uniqueid = in the class but I do not think I have it setup right.
Question.
1. Is the code correct?
2. Why can't I use the above line without a compile error or segment fault?
int main() {
cout << "ProteusCore Server" << endl;
// create a galaxy system with a certain amount of objects
galaxy galaxysystem;
galaxysystem.IntializeGalaxy(100);
[Code] ....
I made the code available to see on sourceforge as Proteus 3d Game Engine. It is something I would like to work on.
View 3 Replies
View Related
Feb 11, 2013
I am having troubles with dynamic arrays and pointers. All the errors are of that kind. I think when I am assigning malloc to an array we assign to its address.
Code:
/*Create an array of genes of the large matrix*/
gene_t gene,gene1,gene2;
gene=malloc(INITIAL*sizeof(gene2)); Code:
while(...) {
if (gene_num==current_size){
[Code] .....
View 9 Replies
View Related
Mar 12, 2014
The snippet below (or similar) compiles and runs OK but I am using Visual Studio C++ compiler. Are the lines where .nameFirst and .nameLast assigned kosher in ANSI C?
Also I am concerned about the memory allocation for these string constants. Does the runtime system put them on the heap? It doesn't seem that they are really constants since they are not defined before runtime.
Code:
#include "stdlib.h"
typedef struct
{
unsigned id;
char* nameFirst;
char* nameLast;
} myList;
[Code]...
View 4 Replies
View Related
Apr 25, 2014
Class with Pointers and Dynamic Arrays
View 2 Replies
View Related
Apr 15, 2013
I'm trying to write a function that takes a 32bit address and a data to store at this address.
I'm wanting to take the 32 bit memory address eg 0x12345678 and split it
into 4 x 2 bytes
12, 34, 56, 78
then each of the 4 entries is at most a 256 entry array.eg
FF, FF, FF, FF
So in this example, 0x12 points to 0x34 in the second array, which points to 0x56 in the third array, which finally points to 0x78 in the last array. This last array holds the actual data.
After successfully doing 0x12345678, say I might get a read for 0x1234AABB. So, the first and second pointers already exist, but I then have to create and write to dynamically created arrays.
The arrays need to have all entries set to NULL so that i know whether to follow the pointers to overwrite a previously entered value or create new arrays and pointers.
It all looks good and simple in the pseudo code I've written up but I'm having trouble coding it. I'm currently trying to deal with the first entry case, ie all array elements are NULL, but I'm getting confused with the pointers and creation of new arrays.
void cpu::store(unsigned int mem_add,unsigned int mem_val) {
int first = (mem_address&4278190080)>>24;
int second = (mem_address&16711680)>>16;
int third = (mem_address&65280)>>8;
int fourth= (mem_address&255);
[Code] .....
A1 has been declared as
int* A1[256] ;
View 3 Replies
View Related
Nov 16, 2013
we are currently covering double pointers and memory allocation. Currently getScrabbleWords is not working. when I compile with commented code (Main() works fine) I get a segmentation fault.
This is the purpose of getScrabbleWords:
char **getScrabbleWords(char **allWords, char letters[]):
This function takes an array of char* values (i.e. strings) representing all the words read from wordlist.txt. Each of these words is tested by callingcanWeMakeIt as a helper function, and pointers to the words that can be made are put into an array, myWords. Note, copies of the words are not made! In order to indicate the end of myWords, we terminate with a NULL pointer. Thus, if N words can be made from letters then myWords should have length N+1.
View 6 Replies
View Related
Apr 13, 2014
I have the following code here. My questions are:
1. Pointers can be used as pass by reference. When I dynamically allocated memory for array[50] in the run function, does that mean I am changing the size of the pArray in main as well? Or does the scope of array[50] ends with the function run? if so, should I do a delete [] Array inside the run function?
2. When I do delete[] pArray in main, what does it delete? memory for array[50]? or array[100]?
#include <iostream>
using namespace std;
void run(int* Array, int& s) {
s = 50;
Array = new int[s];
[Code] ....
View 10 Replies
View Related
Feb 28, 2014
I'm trying to create an array of pointers to pointers which will point to array of pointers (to strings) I tried
Code:
int i;
char *string[]={
"my name is dave",
"we like to dance together",
"sunny day",
"hello",
[code]...
the app keeps crashing , I don't know how to make the array-elements to point to another array-elements..
View 4 Replies
View Related
Dec 21, 2014
I need to use dynamic memory allocation and use pointers to iterate through the arrays that I have already in this program. I am lost, nothing I do works and where to use the pointers. I am just looking for a push in the right direction so I can finish this project and how I can implement pointers in my program.
#include <iostream>
#include <string>
#include <cstdlib>
#include <iomanip>
#include <stdio.h>
using namespace std;
[Code]...
View 1 Replies
View Related
Jan 4, 2013
I'm writing a program in which I have to use a matrix to represent a file in code. because it's a file, the size of the matrix is undefined, and therefore the matrix has to be dynamic. I found out that my compiler doesn't like dynamic multidimensional arrays, so I was thinking of this matrix as a dynamic (monodimensional) array of other dynamic (monodimensional) arrays. My program (and thus this example) uses unsigned chars.
unsigned char variable=something;
unsigned char**matrix=new unsigned char*[lenghtOfMainArray];
for(int rowNumber=0;rowNumber<lenghtOfArray;rowNumber++)
{
[Code].....
View 2 Replies
View Related
Jan 7, 2013
I would like to know the difference between the following two forms of array declaration:
(1)double myArray[3] = {1.0, 2.0, 3.0};
(2)array<double,3> myArray = {1.0, 2.0, 3.0};
If I say the second one allows to use different functions like .begin(), am I right? Is there any other difference between these two declaration?
View 6 Replies
View Related
Jan 24, 2014
I want to understand the ways in which arrays can be declared and used. What each of the following do or what's the difference between them and what would be the length of each:-
1 - char ary1[50];
2 - char ary2[50] = {'H','e','l','l','o'};
3 - char ary3[50] = {'H','e','l','l','o','