我是C的新手.我遇到过一种我以前从未见过的函数语法形式,参数类型在参数列表之后定义.有人可以向我解释它与典型的C函数语法有何不同?
例:
int main (argc, argv)
int argc;
char *argv[];
{
return(0);
}
Run Code Online (Sandbox Code Playgroud) 有人可以向我解释为什么我对字符串大小为6的malloc的调用返回4字节的sizeof?事实上,我给malloc的任何整数参数我得到sizeof为4.接下来,我试图复制两个字符串.为什么我复制的字符串输出(NULL)?以下是我的代码:
int main()
{
char * str = "string";
char * copy = malloc(sizeof(str) + 1);
printf("bytes allocated for copy: %d\n", sizeof(copy));
while(*str != '\0'){
*copy = *str;
str++;
copy++;
}
copy = '\0';
printf("%s\n", copy);
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有mouseleave事件监听器的可排序列表,其行为不正确.
如果我将鼠标移入和移出可排序列表,则mouseleave会正确触发.
如果我首先单击并拖动其中一个可排序的子项,则mouseleave会错误地触发 - 偶尔或根本不会触发.
有任何想法吗?
谢谢.
更新:这也适用于mouseout事件.
<style>
#sortable { list-style-type: none; margin: 0; padding: 0; float: left; margin-right: 10px; background-color: #CCC; }
#sortable li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
</style>
<script>
$(function(){
$("#sortable").sortable().disableSelection();
$("#sortable").mouseleave(function(){ console.log("mouseleave"); });
});
</script>
<ul id="sortable">
<li class="ui-state-default">Item 1</li>
<li class="ui-state-default">Item 2</li>
<li class="ui-state-default">Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
更新 我使用以下内容来检测孩子被完全拖出可排序的时间:
$("#sortable li").mousemove(function() {
if ($(this).offset().left > $(this).parent().outerWidth() + $(this).parent().offset().left ||
$(this).offset().top > $(this).parent().outerHeight() + $(this).parent().offset().top ||
$(this).offset().left + …Run Code Online (Sandbox Code Playgroud) 在使用Drupal 7提交表单后,我在访问发布的值时遇到问题.
假设我有一个带有一个文本字段和一个提交按钮的简单表单.
function sample_form($form, &$form_state){
$form['sample']['name'] = array(
'#description' => 'Name',
'#value' => 'Name',
'#type' => 'textfield',
);
$form['sample']['sample_submit'] = array(
'#type' => 'submit',
'#value' => 'SUBMIT',
'#submit' => array('sample_form_submit')
);
}
Run Code Online (Sandbox Code Playgroud)
然后是我的提交处理程序,用于显示用户在文本字段中输入的值.
function sample_form_submit($form, &$form_state){
drupal_set_message($form_state['values']['name']);
}
Run Code Online (Sandbox Code Playgroud)
但是,该消息始终包含文本字段的默认值,在本例中为"name".如果我输入"Mike"并点击提交,则消息显示"name"(默认值).
我怎样才能获得提交的值?我知道我可以访问
$form_state['input']['name']
Run Code Online (Sandbox Code Playgroud)
但我的理解是,上面给了我原始的,未经过化验的$ _POST数据.
我需要用户输入的值,我怎么能得到这个?我真的不清楚使用drupal Forms API获取用户提交数据的过程.
谢谢你的帮助!