[英]In this program please explain the output
void main()
{
int a=5,*p,*c=NULL;
printf("p=%u",p); //OUTPUT p=3839036080
printf("\nc=%u",c); //OUTPUT c=0
}
這里我們沒有給p
分配任何地址,那為什么它甚至打印任何東西? 並且c
被分配了NULL
所以這意味着它將值存儲為0
?
這里我們沒有給 p 分配任何地址,那為什么它甚至打印任何東西?
你調用了printf()
,所以它必須打印一些東西。 該變量未初始化,因此它打印用於保存該變量的內存中發生的任何事情。
並且 c 被分配了 NULL 所以這意味着它將值存儲為 0?
是的, NULL
是一個擴展為0
、 (char *)0
或等價物的宏。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.