我(我想)理解你只能在堆栈的编译时声明数组的大小(使用sizeof),例如
int my_array[] = {1,2,3};
sizeof(my_array) == 3;
Run Code Online (Sandbox Code Playgroud)
一旦开始使用指针,就会丢失此长度信息.
例如,如果您将指向int的指针作为函数参数传递以将int数组传递给函数,您不能再sizeof()以这种方式使用它,它将只返回用于存储指针的字节数.
显然,了解阵列的长度至关重要.
那么在传递数组时我应该使用以下哪个选项?
传递指针和附带的长度参数
int my_func(int *my_array, size_t len_my_array)
创建我自己的矢量结构
struct vector {
int *my_array;
size_t len;
}
int my_func(struct vector *my_vector)
Run Code Online (Sandbox Code Playgroud)使用别人的矢量实现.(是否存在C的默认实现,因为有C++?)
我错过了另一种方法吗?
(我目前正在使用第一个选项,但它有点笨拙,我很想知道这是否被认为是糟糕的编程习惯)
我已经设法在我的页面上创建多个切换实例,但切换链接本身需要是唯一的,因为切换一个链接切换所有其余的链接.
到目前为止,这是我的代码:
jQuery的:
$(document).ready(function() {
$('.toggle').click(function() {
var id = $(this).attr('name');
$('#module' + id).slideToggle('fast');
$('.toggle').toggle();
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<a class="toggle" name="1" href="#">- Hide</a>
<a class="toggle hidden" name="1" href="#">+ Show</a>
<div id="module1">Toggled Content</div>
Run Code Online (Sandbox Code Playgroud)
如您所见,问题是"$('.toggle').toggle();" 因为它并非每个切换都是唯一的.因此,切换一个链接关闭,关闭所有其他链接,打开时相同.有任何想法吗?
如下所述,我在脚本标记内的jsp中有一些代码.
我得到这个: 444444444666666666666666666\888888888888
但我想要这个:( 444444444\666666666666666666\\888888888888
反斜杠应该被转义)
那么我怎样才能避免这种情况并显示文本呢?我尝试过不同的方法来替换反斜杠("\"),但我没有成功.
<script>
var mytxt ="444444444\666666666666666666\\888888888888";
document.write(mytxt);
</script>
Actual O/P in browser : 444444444666666666666666666\888888888888
Expected O/P in browser : 444444444\666666666666666666\\888888888888
Run Code Online (Sandbox Code Playgroud) 我有这个非常简单的测试代码:
s="helloCustomer"
is_contain_customer = s=='helloCustomer' || s.include? 'Customer' ? 'YES' : 'NO'
Run Code Online (Sandbox Code Playgroud)
我在代码中的第二行收到错误消息Unexpected tSTRING_BEG.
为什么?