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

相关推荐
命运之光2 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光3 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
沫璃染墨4 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
qq_448011166 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机
en.en..8 小时前
C 语言嵌入式事件驱动状态机完整教程(枚举配套)
c语言·开发语言
Yyyyyy~9 小时前
[C语言]break和continue作业
c语言·开发语言
NoteStream9 小时前
【C语言基础】分支和循环(上)
c语言·开发语言·c++·经验分享·笔记·算法·c#
十月的皮皮12 小时前
STM32从零到量产开发:四路继电器工业控制模块开发 -上位机 Program.cs 应用程序入口设计说明
c语言·stm32·单片机·stm32cubemx·hal库
坚持编程的菜鸟12 小时前
模拟实现memcpy
c语言·算法·模拟实现my_memcpy
小小龙学IT12 小时前
Day 28 项目调试与优化 —— 给聊天室做一次“全面体检“
c语言·开发语言