address of pointer


 
Thread Tools Search this Thread
Top Forums Programming address of pointer
# 1  
Old 08-15-2006
address of pointer

Hi i'm new to c programming and i'm trying to change the address of a pointer/variable but i can't seem to get it right,

I have this

Code:
char heap[ 134 ];
char *firstFree = heap;
char *allocMem( int size ) {
        void *malloc(size_t sizeofint);
        /*allocate space for an array with size number of elements of type int*/
        int * ip = malloc(sizeof(int) * size);
        if(ip == '\0'){ /*If function is null, memory not allocated so return null*/
            return '\0';
        }else{ /*Otherwise return address of first free space*/
            firstFree = *ip+1;
            return firstFree;
        }

The bit in bold is wrong, I'm not sure how to change the adress of firstFree to be whatever ip is, any suggestions?
# 2  
Old 08-16-2006
firstFree = *ip+1;

the "*" is not needed, and the pointer type is different
# 3  
Old 08-16-2006
warning: assignment from incompatible pointer type

What should i do?
# 4  
Old 08-16-2006
This warning means that the pointer types are different.

'ip' is a pointer to an integer. 'firstFree' is a pointer to a character. Change
Code:
        int * ip = malloc(sizeof(int) * size);

to
Code:
        char * ip = malloc(sizeof(int) * size);

# 5  
Old 08-16-2006
Thanks nathan, it worked, but now I'm trying to print all the content of the memory and this isn't printing it, I don't see where I'm going wrong Smilie

Code:
    char letter;
    int counter = 0;
    int i;
    for (i=0; i < *firstFree; i++){
        letter = heap[i];
        printf ("%d   ",(char) letter);
        counter++;
        if(counter==10){
            counter = 0;
            printf("\n");
            }
    }

# 6  
Old 08-16-2006
for (i=0; i < *firstFree; i++)

*firstFree ,what does it mean?
i think you want to get the length of the string that allocated
isn't it? it is wrong if so
# 7  
Old 08-16-2006
no not the string length but the address of the firstFree (like the heap[] address 0, 1, 2 etc ...)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

C program to detect duplicate ip address if any after assigning ip address to ethernet interface

Hi , Could someone let me know how to detect duplicate ip address after assigning ip address to ethernet interface using c program (3 Replies)
Discussion started by: Gopi Krishna P
3 Replies

2. Programming

Pointer and address

This code is to print out the program name and arguments list one by one: 1 #include<stdio.h> 2 3 void main(int argc, char *argv) 4 { 5 int iCount = 0; 6 while (iCount < argc) { 7 printf("argc:%d\t%s\n",iCount, argv); 8 ... (14 Replies)
Discussion started by: yifangt
14 Replies

3. UNIX for Dummies Questions & Answers

Printing pointer address

How can I print the memory address of a pointer using printf (or any other STDOUT functions?). I see in Linux its %p but not in unix, help? thanks (5 Replies)
Discussion started by: perleo
5 Replies

4. IP Networking

Tracing a MAC address to IP address: Solaris

Hi there I lost connectivity to one of our remote systems and when I checked the messages log I found the following: Aug 10 23:42:34 host xntpd: time reset (step) 1.681729 s Aug 16 13:20:51 host ip: WARNING: node "mac address" is using our IP address x.x.x.x on aggr1 Aug 16 13:20:51 host... (9 Replies)
Discussion started by: notreallyhere
9 Replies

5. UNIX for Dummies Questions & Answers

Panic kernal-mode address fault on user address 0x14

:) Firstly Hi all!!, im NEW!! and on here hoping that someone might be able to offer me some help... i have a server that keeps crashing every few days with the error message: PANIC KERNAL-MODE ADDRESS FAULT ON USER ADDRESS 0X14 KERNAL PAGE FAULT FROM (CS:EIP)=(100:EF71B5BD) EAX=EF822000... (10 Replies)
Discussion started by: Twix
10 Replies

6. Shell Programming and Scripting

ksh - how to list all ip address between 2 ip address

Trying to do a ksh script that needs to list all ip address between ip address a and b .. ie. Ip address A=192.168.1.200 Ip address B=192.168.2.15 So the subnet changes from 1 to 2 but I want to list all possible ip addresses between the 2.. Which would be: 192.168.1.200... (4 Replies)
Discussion started by: frustrated1
4 Replies

7. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

8. Programming

A Pointer to non-Virtual Address, and All of my Hard drive

How do I get a pointer to any 32 bit address on my hard drive, in which I then could read that memory or write to that memory address? And, while the subject is on, how do get a 32 bit pointer in RAM also, in which I can do the same? I'm using C and Objective-C with gcc on an iBook G4. A... (9 Replies)
Discussion started by: xcoder66
9 Replies

9. IP Networking

How to Achive IP address through MAC(Ethernet) address

Hi sir, i want to make such programe which takes MAC(Ethernet) address of any host & give me its IP address....... but i'm nt getting that how i can pass the MAC address to Frame........ Please give me an idea for making such program... Thanks & regards Krishna (3 Replies)
Discussion started by: krishnacins
3 Replies

10. UNIX for Dummies Questions & Answers

network address and broadcast address?

say I have a IP address which is 10.0.0.12, and subnet mask is 255.255.255.240, what is the network address and what is the broadcast address which host lives on? And could you explain how to get the answer? thanx in advance! (7 Replies)
Discussion started by: pnxi
7 Replies
Login or Register to Ask a Question