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

相关推荐
DREW_Smile2 小时前
字符函数和字符串函数2
c语言·开发语言
Z9fish3 小时前
C语言算法专题总结(一)排序
c语言·算法·排序算法
Felven3 小时前
B. Roof Construction
c语言
无限进步_3 小时前
深入解析vector:一个完整的C++动态数组实现
c语言·开发语言·c++·windows·git·github·visual studio
智者知已应修善业3 小时前
【任何一个自然数m的立方均可写成m个连续奇数之和】2024-10-17
c语言·数据结构·c++·经验分享·笔记·算法
YYYing.3 小时前
【Linux/C++多线程篇(二) 】给线程装上“红绿灯”:通俗易懂的同步互斥机制讲解 & C++ 11下的多线程
linux·c语言·c++·经验分享·ubuntu
一叶落4383 小时前
LeetCode 135. 分发糖果(C语言)| 贪心算法 + 双向遍历详解
c语言·数据结构·算法·leetcode·贪心算法·哈希算法
李斯啦果3 小时前
【C语言】统计对称素数
c语言·开发语言
一叶落4383 小时前
LeetCode 42. 接雨水(C语言详解)——双指针经典解法
c语言·数据结构·c++·算法·leetcode