14
में ढाँचे का पता देखने के लिए मैं एक समारोह जो पता देता है के रूप मेंकैसे printf
struct node *create_node(int data)
{
struct node *temp;
temp = (struct node *)malloc(sizeof(struct node));
temp->data=data;
temp->next=NULL;
printf("create node temp->data=%d\n",temp->data);
return temp;
}
निम्नलिखित जहां struct नोड
struct node {
int data;
struct node *next;
};
मैं printf में कैसे देख सकता है ("") अस्थायी में संग्रहीत पता?
अद्यतन
मैं gdb में adressed जाँच करें कि पतों हेक्स संख्या स्वरूप में आ रहे हैं यानी 0x602010 जहां printf("%p",temp)
में के रूप में एक ही पते एक अलग संख्या है जो मैं क्या gdb प्रिंट आदेश में देखा था से अलग है में आ रहा है ।
+1: ज्यादा (pedanticly सही) compilers के लिए, 'करने के लिए शून्य *' सूचक डाली: 'printf ("% p "(शून्य *) अस्थायी) ' – pmg
क्यों न केवल 'printf (" 0x% 08X ", &temp);' – aroth
@aroth: चीज़ के पते को मुद्रित न करें: आपके पास कोई गारंटी नहीं है' हस्ताक्षरित 'और' स्ट्रक्चर नोड ** 'का एक ही प्रतिनिधित्व है: उदाहरण के लिए आपकी स्निपेट 64-बिट मशीनों पर असफल हो जाती है उदाहरण के लिए – pmg