小编Sun*_*ari的帖子

找到作为c中函数的参数接收的整数数组的大小

我想找到作为函数参数传递的整数数组的大小.这是我的代码

void getArraySize(int arr[]){
  int len = (sizeof(arr)/sizeof(arr[0])
  printf("Array Length:%d\n",len);
}

int main(){
 int array[] = {1,2,3,4,5};
 getArraySize(array);
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下警告

sizeof on array function parameter will return size of 'int *' instead of 'int []' [-Wsizeof-array-argument]

请帮忙,以便我可以在里面找到整数数组的长度function getArraySize 但是我能够找到函数array内部的大小.因为main它是作为一个传递的pointer,所以无法在中找到lengthfrom function.

我确实有一个想法.我可以把它放在一个try/catch块(C没有尝试捕获,只有操作系统依赖的跳线)和循环,直到我得到一个segmentation fault.

有没有其他方法可以用来找到integer array内部的长度function

c arrays

12
推荐指数
4
解决办法
2万
查看次数

Javascript中的数组行为

我尝试在Chrome Developer Console中执行代码,我得到了这个奇怪的结果,我无法理解

var arr = [[2,2]];console.log('Array is',arr);arr[0] = [3,3]
Run Code Online (Sandbox Code Playgroud)

执行此操作后得到的输出是

Array is [[3,3]]

任务应该在console.log执行完毕后发生.但它在那之前神奇地发生了.

为了澄清我尝试在JsBin中运行相同的代码.但是在JSBin中,我得到了预期的结果

Array is [[2,2]]

但是,此代码会产生预期的chrome结果

var arr = [2,2];console.log('Array is',arr);arr[0] = 3;console.log(arr)

产量 Array is [2,2] [3,2]

有人可以帮助我理解这一点.

javascript arrays google-chrome

8
推荐指数
1
解决办法
79
查看次数

标签 统计

arrays ×2

c ×1

google-chrome ×1

javascript ×1