怎么判定空间的大小

如何判定空间的大小
char   *s1   =   "0123456789 ";
int   n   =   sizeof(s1);


小弟是想求指针“s1”所指向的空间大小,但用sizeof(s1)求出的值是4;我想自己写函数求,但是无法判定空间结束,就是不知道什么是结束标志;

小弟的问题是:如何知道一个指针所指向的空间大小(即:空间尺寸),换句话说是如何如何判断空间结束;

------解决方案--------------------
LZ的这个要求“知道一个指针所指向的空间大小”c/c++是做不到的。。
------解决方案--------------------
bargio_susie 是对的!
根本不可能通过指针得到指向的内存大小。
char *pch=malloc(sizeof(10));
printf(sizeof(ptch)); //雷同sizeof(void *p);