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

相关推荐
听风说ml3 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
学逆向的4 小时前
C 局部静态变量
c语言·开发语言·网络安全
Zwawa12 小时前
从 printf 到曲线:把数据送上 VOFA+
c语言·单片机·嵌入式
二十七日秋15 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
abc light16 小时前
ARM 裸机开发(1)——ARM 体系结构
c语言·arm开发
Navigator_Z16 小时前
LeetCode //C - 1309. Decrypt String from Alphabet to Integer Mapping
c语言·算法·leetcode
爱聊灵光的维C17 小时前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
wuminyu17 小时前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
C++ 老炮儿的技术栈18 小时前
Linux 动态库踩坑:明明重新编译了 .so,调用函数返回值却一直不变(libfjrobot.so 版本号异常排查实录)
linux·c语言·网络·c++·visual studio
小向是个Der1 天前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本