C/C++ :: Regarding Pointers To Structures And Referencing?
Mar 24, 2015
concepts on pointers to structures and referencing for the following two lines.
//address of the variable "struct UIP_IP_BUF" is assigned as srcipaddr
uip_ds6_nbr_add(&UIP_IP_BUF->srcipaddr,
//data type "uip_lladdr_t" pointer points to the address of array an "nd6_opt_llao" with size UIP_ND6_OPT_DATA_OFFSET
(uip_lladdr_t *)&nd6_opt_llao[UIP_ND6_OPT_DATA_OFFSET]
How do I store pointers to a struct in an array ? I am using sprintf to concatenate some values together and then output it to an array in its 1st argument. A portion of my code is shown below.
This is my program and i dont know what is the better strategy to display the output perfectly align with the title, when i input a long variable or short the variable move and it does not align with its title. what can i do.
#include <iostream> #include <string> #include <string.h> #include <cstdlib> #include <cstring> #include <iomanip> using namespace std; struct book {
Background: I'm writing a convolutional encoder (and decoder, eventually) for a microprocessor (PIC24), for which I'm using structs and pointers to move from state to state. So far as I'm aware, everything I'm using in the PIC involves nothing other than ANSI C.
I have a little experience with structures, having written a linked-list program for a class a couple years back, but nothing since and never used structure arrays. I have the feeling I'm missing something basic here, which is what's so frustrating. The most confusing error (and I suspect the root of most of them) is the 'state undeclared', which I just can't figure.
The errors I'm getting are:
encoder.c:11: warning: 'struct memstate' declared inside parameter list encoder.c:11: warning: its scope is only this definition or declaration, which is probably not what you want encoder.c: In function 'state_init': encoder.c:22: error: two or more data types in declaration specifiers encoder.c:25: error: 'state' undeclared (first use in this function) encoder.c:25: error: (Each undeclared identifier is reported only once
[Code]....
Code:
Code: //Includes #include <stdlib.h> //------------------------------------------------------------------------------ //Creates state machine and passes back pointer to 00 state void state_init(struct memstate* startpoint) { extern struct memstate { char output0; //output if next input is 0
[code]...
NB: I'm aware that at the moment, this code will do nothing except spin round that do-while loop. Once it's actually compiling I'll drop in some simple button-based test code so it'll check for the correct output.
Write a program that uses a record structure to store a Student Name, Student ID, Test Scores, Average Test Score, and Grade. The program should keep a list of test scores for a group of 6 students. The program should ask for the name, ID, and four test scores for each student. Then the average test score should be calculated and stored. The course grade should be based on the following scale:
Average Test Score Course Grade ------------------ ------------ 90 - 100 A 80 - 89 B 70 - 79 C 60 - 69 D 59 or below F
A table should be displayed on the screen listing each student's name, ID, average test score, and course grade. Implement with functions.
My code runs but it isnt returning anything (readable/correct) and i have no clue why. This is what i have so far:
#include <iostream> using namespace std; const int columns = 4; struct StuRec //user defined datatype { int id[6]; char names[6][20];
[Code] .....
it compiles completely but at the end instead of showing the student name ID average score and class grade it shows.... [URL] .....
Write a program that uses a record structure to store a Student Name, Student ID, Test Scores, Average Test Score, and Grade. The program should keep a list of test scores for a group of 6 students. The program should ask for the name, ID, and four test scores for each student. Then the average test score should be calculated and stored. The course grade should be based on the following scale:
Average Test Score Course Grade ------------------ ------------ 90 - 100 A 80 - 89 B 70 - 79 C 60 - 69 D 59 or below F
A table should be displayed on the screen listing each student's name, ID, average test score, and course grade. Implement with functions.
My code runs but it isnt returning anything(readable/correct) and i have no clue why. This is what i have so far:
#include <iostream> using namespace std; const int columns = 4; struct StuRec //user defined datatype { int id[6]; char names[6][20]; int scores[6][4]; double avg[6]; char grade[6]; }; //semi-colon required
I have loop that want to call them one by one and print data of an them in each step. It means that I want to reach the name of arrayBee1 to arrayBee2 in the loop for printing its data. I made the name of each one by using strings ( abee1 , abee2) in the loop.
#include<iostream> #include<string> #include <sstream> using namespace std ; int abee1 [4] [4] = {{5,0,40,30},{6,0,21,47},{7,0,17,63},{8,0,31,62}}; int abee2 [4] [4] = {{1,0,37,52},{2,0,49,49},{3,0,52,64},{4,0,20,26}};
[Code] ....
I know something is wrong with the "string *a = & arrayname;" part of code and after that.
I am building a log4net wrapper project where I reference log4net.dll. When calling this code through a static instance to log messages the new project also wants me to reference log4net.dll even though I have a reference to my logging project which in turn has the reference..
void f(std::vector<int> const &v, std::vector<int>::const_iterator it = v.end()) { } int main() { f({}); } prog.cpp:4:73: error: local variable ‘v’ may not appear in this context void f(std::vector<int> const &v, std::vector<int>::const_iterator it = v.end())
Why is this not allowed? (I mean, what is the reasoning for defining the standard this way?)
In C++14/C++17 we will have a unified way to represent end iterators without an instance of the container, but currently I just have to hope my implementation accepts a default-constructed iterator as an end iterator.
I need to return taxes paid and net pay by pass referencing a gross pay overloaded function. Are the values returned from calling the overloaded function file stream objects? Can they be passed simply through a pass-by-reference function?
//Read Data from File, gather info and calculate pay, output data to file while(counter < x) { inFile >> last_name >> first_name >> hours_worked >> hourly_pay; outFile << first_name << " " << last_name << " "; outFile << calculate_gross_pay(hours_worked,hourly_pay); counter++; outFile<<endl;
We had to convert a single-line text editor which uses arrays to one that uses OOP and double-linked lists and I have been doing it in steps. I have, for the sake of convenience, put my headers, implementation and main all in one file.
I'm compiling this program in Hercules (the getch function uses C code).
I keep getting the error from the compiler saying "Undefined Symbol" for functions:
What I would like to happen, when I run my code is that I'll get the following
Item_ID, Name, parent_Name 1 , jeff , jackson
DataSet DS = new DataSet(); if (this.OpenConnection() == true) { mySqlDataAdapter = new MySqlDataAdapter("select Item_ID, NAME, Parent_ID from table1, table2", connection); mySqlDataAdapter.Fill(DS); dataGridView1.DataSource = DS.Tables[0]; //close connection this.CloseConnection(); }
So this spit out parent ID = 5.
I've not worked with Dataset before and I was just wondering what is the best approach? Can this be done via a SQL command or will I have to replace the value(5) with the string(jackson) using a large IF loop to search and replace.
I have code working, but that is largely because a vector that I am using as part of a structure that is the first of two elements of a MAP (with the second being an integer that is assigned later) is serving in its original, purely vector form, to fill out a set of selections on a DOS screen (option 1, 2, 3, etc.).
I do use the MAP, because it is a simple means of referencing the integer value using a word that is part of the structure, and is probably appropriate, saving me a search through the vector of words and calling up the value at the same location in the vector of words in a vector of corresponding numerical values. I DO feel that what I'm doing to produce the selection list is something of a "cheat" because I do not know how to access the same data within the structure component of the MAP by simply using a similar numerical reference (e.g. "MAP[1].structure.word", or would that be "MAP.structure.word[1]" ????) to print out the words in the structure in the map as choices on the screen.
I don't want to change or expand the contents of the map, just access and print each one in a simple loop with a number from the loop counter to the left of each word.
I am a little confused while comparing char pointers to integer pointers. Here is the problem:
Consider the following statement; char *ptr = "Hello"; char cArr[] = "Hello";
When I do cout << ptr; it prints Hello, same is the case with the statement cout << cArr;
As ptr and cArr are pointers, they should print addresses rather than contents, but if I have an interger array i.e. int iArr[] = {1, 2, 3};
If I cout << iArr; it displays the expected result(i.e. prints address) but pointers to character array while outputting doesn't show the address but shows the contents, Why??
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);
Ok, for my Sunday homework I have to find the next day of the year using structures. Now, I can get the structure to read the entered date (tested that with a simple scanf to printf entered data), but I need to get it to be able to tell that it is the end of the month and print out the next month when necessary. Here is what I got so far:
Code: //Cameron Taylor #include <stdio.h> struct Date{ int month; int day; int year;
[Code] ....
As you can see, I am trying to use an array for the max day of each month (excluding Leap Year for now).
Where I use the entered month to = 'i'. Then I use 'i' as the position in the array to see if next.day is = to the max day of that position of the array.
I am having no compiler issues with GCC using -w or -Wall, but after entering the current day the program stops working and doesn't go beyond the input.
commiedic@localhost Project18$ gcc -o -Wall Exercise4.c commiedic@localhost Project18$ gcc -o -w Exercise4.c commiedic@localhost Project18$ gcc -w Exercise4.c commiedic@localhost Project18$ make Exercise4 make: `Exercise4' is up to date.
A user is supposed to enter student name, id, and grade then sort them by name, id, or grade. I managed to get it to sort by name and id correctly, but not by grade.