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++ 初阶 学习博客
c语言·c++·c++与c语言的区别·c++基础学习
无忧.芙桃3 小时前
数据结构之排序算法(中):冒泡排序与快速排序,从相邻交换到工程级优化
c语言·c++·排序算法
Hhy_11073 小时前
《C++深度解构04》类和对象(下)——类型转换、static、友元与编译器优化
c语言·c++·学习·类和对象·visual studio
free-elcmacom14 小时前
C语言字符指针与字符串字面量——从一道“剑指 Offer”笔试题说起
c语言·visual studio
free-elcmacom19 小时前
C语言指针进阶——指针数组模拟二维数组,以及二级指针到底怎么理解
c语言·visual studio code
山下梅子酒22520 小时前
洛谷-入门-B2049
c语言
剑指offer.1 天前
嵌入式硬件-ARM芯片的启动
c语言·嵌入式硬件·嵌入式
Logic1011 天前
C语言/数据结构动态规划题解:Kadane算法求最大子数组和——O(n)时间O(1)空间
c语言·数据结构·动态规划·贪心·时间复杂度·算法题·最大子数组和
雷✘1 天前
C 程序从源文件到运行:预处理、编译、汇编、链接重定位与执行环境
c语言
Logic1011 天前
C语言/数据结构位运算题解:异或XOR找出数据表中的“独特编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质