C语言完美演绎3-16

/* 范例:3-16 void指针 */

#include <stdio.h>

void main(void)

{

int a = 6838;

int *p;

printf("&p=%u :%d bytes\n", &p, sizeof(&p));

p = &a;

printf("*p = %d p = %u\n", *p, p);

printf(" a = %d &a = %u", a, &a);

printf("\n-------------------------------------");

/*-------------------------------------------------------------------------*/

int i;

float r;

void *poin = &i; /* 取i的地址存放到指针变量poin中 */

*(int *)poin = 2; /* 设定void类型指针变量poin指向的变量(i)为2 */

poin = &r; /* 取浮点变量r的地址存放到poin,因此目前poin指向变量r */

*(float *)poin = 2.3; /* 按照地址操作值, 将r值设定为2.3 */

printf("\n*poin = %d poin = %u\n", *(int *)poin, poin);

printf("\n*poin = %f poin = %u\n", *(float *)poin, poin);

printf("i = %d &i = %u", i, &i);

getchar();

}

程序执行结果﹕

&p=6618620 :4 bytes

*p = 6838 p = 6618624

a = 6838 &a = 6618624


*poin = 1075000115 poin = 6618612

*poin = 2.300000 poin = 6618612

i = 2 &i = 6618616

相关推荐
是隼人5 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
布莱克6058 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
hongmai6668888 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘8 小时前
C语言梦开始的地方19:文件操作
c语言·开发语言
万法若空9 小时前
C/C++ 类型别名定义方式对比
java·c语言·c++
一直C11 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
春风解人意12 小时前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_176812 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
一直C12 小时前
Linux系统编程|信号进阶 + SystemV IPC(消息队列、共享内存)
linux·c语言·开发语言·算法·青少年编程·vim
新时代牛马13 小时前
SPL-TPL 链式启动:spl.c 与CONFIG_TPL 三阶段加载
c语言·开发语言