Visit Our UNIX and Linux User Community


Printing pointer address


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Printing pointer address
# 1  
Old 03-29-2011
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
# 2  
Old 03-29-2011
"UNIX" is an extremely vague description, and about as useful for describing your system as telling a mechanic that your car is blue in color. If you don't actually know what your system is, uname and uname -a should help.

It should be %p in most UNIX too. %p doesn't always print the exact same thing everywhere, though!
# 3  
Old 03-29-2011
ah yes, sorry, its FreeBSD 7.3
# 4  
Old 03-29-2011
What happens when you compile and run this code:

Code:
#include <stdio.h>

int main(void)
{
        printf("pointer:  %p\n", NULL);
}

# 5  
Old 03-29-2011
Quote:
Originally Posted by Corona688
What happens when you compile and run this code:

Code:
#include <stdio.h>

int main(void)
{
        printf("pointer:  %p\n", NULL);
}

prints out..

pointer: 0x0

however, if I try to print out a pointer address in the kernel code and compile, it returns that %p is looking for a void.
# 6  
Old 03-29-2011
Kernel code is not application code. You don't have printf() in the kernel. The concept of 'standard output' doesn't even exist inside the kernel.

You might try kprintf(), which is similar. I think it ends up printing to the system log.

If it's giving you warnings about the wrong kind of pointer, you might try casting the pointer into a (void *).
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #482
Difficulty: Medium
in 2018, developers and programmers rarely used an Integrated Development Environment (IDE) that provided a text editor with code highlighting.
True or False?

9 More Discussions You Might Find Interesting

1. Programming

Pure C function pointer on printing vowels twice

Have difficulty to understand this pure C code to only print vowels twice from input string. Questions are commented at the end of each place. #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <limits.h> /* *Demonstrate the use of dispatch tables */ /*Print a char... (11 Replies)
Discussion started by: yifangt
11 Replies

2. 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

3. 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

4. Programming

Printing class address!

Hello everyone, I have this code which prints the address of the object of a class....bt. what if I want to print the address of the class? #include <iostream.h> class har{ }; int main() { har a; cout<<(&a); } I would really appreciate if someone can help! Thanks!!!!! (1 Reply)
Discussion started by: mind@work
1 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. 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

7. Programming

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 char heap; char *firstFree = heap; char *allocMem( int size ) { void *malloc(size_t sizeofint); /*allocate space for an array with size... (19 Replies)
Discussion started by: Poison Ivy
19 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. UNIX for Dummies Questions & Answers

can unix printing directly to ip address

Thanks in advance. I am researching if it is possible for unix (solaris) to print directly printers with IP addresses. Without adding all the ip addresses to the hosts file? There are more than a hundred printers and managing them in a hosts file would be tedius, prone to error, and time... (4 Replies)
Discussion started by: maguired
4 Replies

Featured Tech Videos