我想知道是否有可能通过有条件地取消引用不同的指针层,直到到达不是指针的层,才能到达 C 中 n 维数组的最低级别(非指针级别),如下例所示:
if(i_is_a_pointer){
for(i = 0; i < some_given_length; i++){
if((*i)_is_a_pointer){
for(j = 0; j < some_given_length; j++){
if((**i)_is_a_pointer)...etc.
}
}
}
}
这将深入研究数组,直到它碰到一个非指针或用尽最后编写的代码块。在 C 语言中,如何确定事物是否是指针(如果目标非指针的大小与内存地址的大小不同,我猜想 sizeof 会起作用),并且语句 **i 会是如果 *i 本身不是指针,编译时或运行时错误?
此外,您使用/推荐哪些语言和技术来遍历 n 维数组的非数组元素,其中 n 是在运行时确定的?