100分相送,请问如何获取一个void指针指向内存的大小!!!
如下程序
运行结果:
size p 20
void size p 1
怎样才能让void *获得真正的分配空间大小?
#include <stdio.h>
#include <stdlib.h>
void
free(void *q)
{
printf("void size p %d\n", sizeof(*q));
}
int
main(void)
{
struct abc{
int a;
int b;
char buf[10];
};
struct abc *p;
p = (struct abc*)malloc(sizeof(struct abc));
printf ("size p %d\n", sizeof(*p));
free(p);
return 0;
}
运行结果:
size p 20
void size p 1
怎样才能让void *获得真正的分配空间大小?
#include <stdio.h>
#include <stdlib.h>
void
free(void *q)
{
printf("void size p %d\n", sizeof(*q));
}
int
main(void)
{
struct abc{
int a;
int b;
char buf[10];
};
struct abc *p;
p = (struct abc*)malloc(sizeof(struct abc));
printf ("size p %d\n", sizeof(*p));
free(p);
return 0;
}
...全文
相关推荐
深入理解void以及void指针的含义
本篇文章对小编void以及void指针的含义进行了详细的分析和介绍。需要的朋友参考下
C++ 指向类成员的指针
前面曾写过一篇恼人的函数指针(一),总结了普通函数指针的声明、定义以及调用,还有函数指针数组,函数指针用作返回值等。但是作为C++的研读,我发现我漏掉了一个最重要的内容,就是指向类成员的指针,这里将做相应补充(相关代码测试环境为vs 2010)。 指向类成员的指针总的来讲可以分为两大类四小类(指向数据成员还是成员函数,指向普通成员还是静态成员),下面一一做介绍: 一、指向类的普通成员的指针(非静态) 1、指向类成员函数的指针 简单的讲,指向类成员函数的指针与普通函数指针的区别在于,前者不仅要匹配函数的参数类型和个数以及返回值类型,还要匹配该函数指针所属的类类型。总结一下,比较以下几点: a)参
C语言(彻底理解指针和地址,彻底!)
C语言(彻底理解指针和地址,彻底!)
C语言中各类指针的用法(小结)
主要介绍了C语言中各类指针的用法(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
C++指针参数传递内存详解
用图示深度剖析c++指针参数传递内存时的详细过程,打破你以往对函数指针参数传递的误解(编译器总是要为函数的每个参数制作临时副本)。



