Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中设置指向最后一个位置的指针_C - Fatal编程技术网

如何在C中设置指向最后一个位置的指针

如何在C中设置指向最后一个位置的指针,c,C,在C语言中,如果我们声明一个数组,我们可以使用sizeof()来获取数组的长度。如果我得到一个指针,sizeof()将返回指针的大小,那么如何获得指针指向的数组的大小,或者如何将指针设置到最后一个位置?我知道char*可以用strlen,其他类型的呢 谢谢您不能这样做,您必须自己维护一个变量或常量来给出大小。顺便说一下,strlen只提供二进制零之前的字符数。包含字符串的数组可能要大得多。在调用malloc(或其他分配函数)之前,必须存储大小。顺便说一句,除了VLA之外,sizeof()的值是在

在C语言中,如果我们声明一个数组,我们可以使用sizeof()来获取数组的长度。如果我得到一个指针,sizeof()将返回指针的大小,那么如何获得指针指向的数组的大小,或者如何将指针设置到最后一个位置?我知道char*可以用strlen,其他类型的呢


谢谢

您不能这样做,您必须自己维护一个变量或常量来给出大小。顺便说一下,
strlen
只提供二进制零之前的字符数。包含字符串的数组可能要大得多。在调用
malloc
(或其他分配函数)之前,必须存储大小。顺便说一句,除了VLA之外,sizeof()的值是在编译之后确定的,这意味着您不能使用它来动态测量某个对象的大小。