c_cpp 在c中设置并获得void *
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在c中设置并获得void *相关的知识,希望对你有一定的参考价值。
#include "stdio.h"
#include "stdlib.h"
//example for token construction
//data token
typedef struct
{
int type;
void* data;
} ConsToken;
//int value
typedef struct
{
int val;
} IntVal;
typedef struct
{
int* vals;
} IntSeq;
ConsToken* makeint()
{
ConsToken* cst = malloc(sizeof(ConsToken));
cst->type = 1;
cst->data = malloc(sizeof(int));
//dereference and cast
*(int*)cst->data = 4;
return cst;
}
ConsToken* makeintseq()
{
ConsToken* cst = malloc(sizeof(ConsToken));
cst->type = 2;
cst->data = malloc(sizeof(int) * 3);
//dereference and cast
((int*)cst->data)[0] = 4;
((int*)cst->data)[1] = 88;
return cst;
}
void printfirst(ConsToken* cst)
{
printf("First value is %d\n", ((int*)cst->data)[0]);
}
int main(void) {
ConsToken* cst = makeintseq();
printfirst(cst);
return 0;
}
以上是关于c_cpp 在c中设置并获得void *的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 使用void函数在C中进行递归
c_cpp 在c中使用void指针数组的一些练习
c_cpp c中的void指针练习
c_cpp 返回void函数
c_cpp 来自void指针的hash数据
c_cpp void *指针的转换问题,这里C和C ++有差别