c_cpp 从c中的未被发现的指针中获取值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 从c中的未被发现的指针中获取值相关的知识,希望对你有一定的参考价值。
#include "stdio.h"
#include "stdlib.h"
//generic macros for accessing casted pointer types
//macro for Base
#define BASE_HANDLE int type; \
struct Base* next; \
struct Base* prev;
struct Base {
BASE_HANDLE
};
typedef struct Base Base;
//object that represents integer.
typedef struct {
BASE_HANDLE
long value;
} IntObj;
//constructs new int casted back to base
Base* IntObj_new(long value)
{
IntObj* iob = malloc(sizeof(IntObj));
iob->type = 1;
iob->value = value;
return (Base*)iob;
}
#define IntObj_GET_INT(bs) ((IntObj*)bs)->value
int main(void) {
Base* foo = IntObj_new(7);
printf("The number is %d\n", IntObj_GET_INT(foo));
return 0;
}
以上是关于c_cpp 从c中的未被发现的指针中获取值的主要内容,如果未能解决你的问题,请参考以下文章
这是C ++中的未定义行为从悬空指针调用函数
c_cpp 允许通过C中的void指针从任何类型访问字节数组
php 获取2018年10月未被管理员创建的未被删除的重力表单条目
自己定义Application的未捕获异常处理
c_cpp 指针迭代与C中的int指针
c_cpp 从两个排序的数组中获取第k个最小元素。数组中的前k个