"Write a program that compares the memory addresses of two different variables on the stack and prints out the order of the variables by numerical order of their addresses.
Does my solution look correct
Code:
#include <iostream>
using namespace std;
int main() {
int one = 1;
int two = 2;
if (&one < &two)
cout << one << " " << &one << " " << two << &two << endl;
else
cout << two << " " << &two << " " << one << " " << &one << endl;
}
My question is this: Is it possible to determine where functions are stored at compile time, so that at run time you can pass the memory address as a pointer to the interrupt handler so that it can directly call the function at memory location 'X'?
The newest project I'm working on would require to either somehow capture these addresses or to find a work-around so that instead of passing the pointer to the interrupt handler, the software would then need to be able to be non-interruptable.
What is the difference between initializing pointers to a memory address using the address operator like int *pointer = &x; or initializing it to a value like int *pointer = x; .. in other words how does p and q point to the same memory address in:
const int ARRAY_LEN = 100; int arr [ ARRAY_LEN ]; int *p = arr; int *q = &arr[0];
the question is; Write a program that prints out the memory addresses of each element in a two-dimensional array. Check to see if the values printed out make sense to you based on the way I explained it before.
Below is the code I have done. I am having problems printing the "-" sign to keep formatting with the board when the user enter in different dimensions other than [4][4].
Code:
#include <iostream> using namespace std; void printTable (int x, int y) { int **p_p_twoDimension = new int* [y]; for (int i = 0; i < y; i++) { p_p_twoDimension[i] = new int [x];}
I was wondering if it is possible to check if two addresses, so pointers are equal.I was saving the address of an array, and later wanted to identify it by the address, so if my area has the address: int *my_array; // is equal to: 0x1e9aa3a2c ...Later when I go through a list of pointers like:
list= 0x1e9c7e060 0x1e9ba6640 0x1e9aa3a2c <== my address 0x1e9aa3a2c
I want the third one to be equal to my list, but with == it didn't work for me.
I want to take a starting IP on a local network, and loop through to an ending IP on a local network, pinging all the IP addresses in between. For instance, ping all IP addresses between 192.168.1.1 - 192.168.1.255 (user enters desired starting IP and ending IP in text boxes).
I have the ping functionality working, and i can make it all work with lots of messy string parsing.. but it seems sloppy to me.
I have to split the strings (start and end IP) to get the last octet, then subtract to get the range of IPs. Then loop through, adding 1 to the last octet, and converting back to a string each time.
The C# Ping class can use either a string or an IPaddress for its Send method. If I use IPAddress, I just have to convert it from the text box it originates in, but the adding 1 to the last octet in the loop is a hassle.
Anyway, I guess the only question I have is, if you had to loop through a range of IP addresses, how would YOU do it?
public Job(string ipStartIn, string ipEndIn) { long ip1 = Convert.ToInt64(ipStartIn); long ip2 = Convert.ToInt64(ipEndIn); IPStart = new IPAddress(ip1); IPEnd = new IPAddress (ip2); this.deviceAlive = false;
I'm taking a university course and one of our first projects dealing with C is to write a hash table (with chaining as a collision solution) that will hash loads of hexadecimal values into the table. I'm just brain storming right now but how practical is it to hash the values by converting them to decimal and working with that value in another function to organize the values? I'm thinking this might take a lot of time and memory because our code will be tested with text files that could have a few lines of hexadecimal addresses or millions of them.
What this is, is a more recent assignment and my question is if my errors are directly related to passing structure addresses to functions. I've tried several syntax variations at the beginning of my loops such as this one:
while (choice != "Q" || "q")
But the loops will not run since I introduce polar to rectangular and the choice element. My last working code was rectangular to polar and all of it worked fine.
#include<iostream> #include<cmath> using namespace std; //structure declarations struct polar { double distance; //distance from origin double angle; //direction from origin
I used a heap viewer to check for memory leaks. I have many of them and its hard to find out where it is not being freed. Is their a way to use the debugger to log the addresses of the data it allocated on the heap. This way I can trace it back. Or is their any other way to fix memory leaks properly.
so i have two classes ( main and another one ask ) in main i have defined 3 arrays (char drivers[250] ,offences[250] , owners[250]) and also included their pointers ( char *drivers_ptr,*offences_ptr,8owners_ptr)my problem is that i need to set values (actually 1 string of 250 chars to each of these arrays BUT from the class ask without making these arrays global -as this is prohibited by my university exercise !- )
so my question is how will i manage to save data to the arrays that i have defined in main using their addresses(through the pointers of each one that i have passed to the ask class) from the ask class ?
I need to create a TCP/IP program using visual studios MFC that displays all client's IP addresses that are connected to the client.
The MFC application just has a list box and a button. The client can be a simple console application. When the button is clicked, the list box gets populated with all ip addresses of connected clients.
I am trying to write a loop that will iterate through a char array in C and pull the IP addresses and test them to see if they respond. My ultimate goal is to have the first one that responds returned in the function, but the loop is not running correctly. It will run through right the first time, but then will start over again.
Code output: Contents of srList b4 loop: 1.1.1.1 Server List: 1.1.1.1 result is "1.1.1.1" Hitting else loop Contents of srList in else: 2.2.2.2 result is "2.2.2.2" result is "2.2.2.2" Contents of srList b4 loop: 1.1.1.1 Server List: 1.1.1.1 result is "1.1.1.1" Hitting else loop Contents of srList in else: (null)
Apart from compiling i am running a software to test for compliance with standards. I always get the following warnings.Implicit binary conversion from one (type) to (type). The type in general can be unsinged int, long etc. There are several cases in which this happens. Like in an if statements, i made sure that both the types are of the same type by type casting.Is it true that i cannot compare an 8 bit value with 16 bit value? I cannot compare a signed value with an unsigned value?what are the exact rules for this?
In an assignment operator i cannot assign a bigger value to the smaller value. Am i correct?Suppose if i multiply a varaible with constant then the constant should be type casted to the same value as the variable?Also if i am shifting a variable say test1 << 1. Then should 1 also need to be typecasted. How to handle situations if the variable is a complex structure or union? i am very much cofused not able to follow definite rules and mostly trying trial and error and i dont want to do that way.
I am curious as to what is happening to my pointers and everything once I call malloc to create space for 5 integers to try to make a stack.
Code:
#include <stdio.h> #include <stdlib.h> void add(int * TOP, int * stack); int main() { int *stack = NULL; int *TOP = NULL; stack = (int *)malloc (5 * sizeof(int));
[Code] ....
I am guessing that when I initialize stack to malloc, stack now stores the starting address of where the space is taken out, and also assigns TOP that address too. I get the choice from the user (b) to get the instruction to try to push on the stack. I was told that the if statement in the function checks if the stack has passed the bounds of 5 elements. If not, it assigns the scanned variable and puts it into what TOP is pointing to and increments TOP to the next address. It is not working and am wanting to see where my logic is wrong.
write an algorithm using stack to determine if an input of string is in the form xCy where y is the reverse of x.x and y are strings of A and B. eg : AABACABAA
I had the entire validation working until my professor said that my Pop function had to be a "void" not a "Char". Which destroyed my previous validation and now how to validate this.
I will only be posting the validating function.
All the characters are being thrown in a Stack. So I am using Pop/Top/Push/isEmpty/isFull. That will be shown in my validating code.
Correct Validations: 1. {}()[] 2. [()] 3. {([])}
Incorrect Validations: 1.[) 2.[(]] 3.{])
My main issue is that it validates "[)" correct.
I am pretty positive I must have over complicated my validation.
I am trying to implement a stack class which has struct data type as its private member. I am getiing the following error ,
bash-3.2$ g++ stack_str_arr.cpp stack_str_arr.cpp: In member function ‘void stack::push(int)’: stack_str_arr.cpp:39: error: ‘top’ was not declared in this scope stack_str_arr.cpp: At global scope: stack_str_arr.cpp:43: error: no ‘void stack::display()’ member function declared in class ‘stack’
Code:
#include<iostream> using namespace std; #define MAX 5 class stack { public : stack();