I Have a code snippet
Code:
#include <string.h>
#include <stdio.h>
typedef enum {
e_NW_NFY_ID_UNKNOWN = 0,
e_NW_NFY_ID_ETHERNET_PLUGIN, /*< Ethernet cable plugged in, pv_nfy_param: not used */
e_NW_NFY_ID_ETHERNET_UNPLUG, /*< Ethernet cable unplugged, pv_nfy_param: not used */
e_NW_NFY_ID_ADDRESS_CHANGED, /*< IP address changed */
e_NW_NFY_ID_ADDRESS_EXPIRED, /*< IP address expired */
e_NW_NFY_ID_DHCP_SUCCESS_DHCPv4, /*< DHCP started successfully and get IPV4 */
/*e_NW_NFY_ID_DHCP_FAILURE_DHCPv4,*/ /*NW_NFY_ID_NEW_ADDRESS_DHCPv4,*/
e_NW_NFY_ID_DHCP_SUCCESS_LINKLOCAL, /*< DHCP started successfully but get link local IP */
}E_NetworkStatus;
int minecall(void *ptr);
int minecall(void *ptr)
{
E_NetworkStatus lNetworkStatus = (E_NetworkStatus)ptr ;
printf("ptr:%x ,lNetworkStatus = %x \n",(E_NetworkStatus)ptr,&lNetworkStatus);
printf("Value : %d\n",lNetworkStatus);
return 0;
}
int main()
{
E_NetworkStatus NetworkStatus;
NetworkStatus = e_NW_NFY_ID_ADDRESS_EXPIRED;
printf("NetworkStatus:%x \n",NetworkStatus);
minecall((void *)NetworkStatus);
return 0;
}
Questions:
1. What will this assignment mean "E_NetworkStatus lNetworkStatus = (E_NetworkStatus)ptr ;"
Since the Output is a correct value.
2. Does the above assignment mean address is assigned to the variable "lNetworkStatus "?
Or is the value is assigned to the variable "lNetworkStatus "?
I am little confused with this assignment.....
Thanks in advance