如果我有以下代码:
p
这里,在递增1
时,它会跳过sizeof(int)字节并转到p
位置。如果char
属于不同类型,请说1
,那么它会跳过多少字节?它只是4
或 //I have action to get data
public ActionResult ReturnPartial()
{
return PartialView("_LogIn");
}
//here is ajax
<p onclick="Func1()">Log In</p>
<div id="here"></div>
<script>
function Func1() {
$.ajax({
type: "GET",
url: '@(Url.Action("ReturnPartial", "Registration"))',
success: function (data) {
$("#here").html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert("Failed to retrieve view");
}
});
}
</script>
吗?
答案 0 :(得分:2)
它将跳过sizeof(decltype(*p))
个字节。换句话说,它将跳过p
类型的大小。
在这种情况下,p
的类型为int*
,因此会跳过sizeof(int)
个字节。但是,如果p
的类型为char*
,则会跳过sizeof(char)
个字节。
答案 1 :(得分:1)
本声明
int * p = (int*)malloc(2);
一般情况下是不正确的。正确的陈述看起来像
int * p = (int*)malloc(2 * sizeof( int ) );
正如你自己正确指出的那样
这里,在递增p时,它跳过sizeof(int)字节并转到1 位置
另一方面,C ++和C中的sizeof( char )
总是等于1
。所以根据你自己的陈述
这里,在递增p时,它跳过 sizeof(char)字节并转到1 位置