×

calloc函数 loc all

C语言中malloc()和calloc()有什么区别?amateur ;challenge ;saturation ; 这英语用谐音怎么读

admin admin 发表于2022-06-19 18:16:33 浏览104 评论0

抢沙发发表评论

C语言中malloc()和calloc()有什么区别


这是申请内存的函数,存在与头文件stdlib.h中,malloc的使用方法最简单接下来是例子:
#include《stdlib.h》
#include《stdio.h》
main()
{
int
*m;
m=(int
*)malloc(sizeof(int)*16);//这里每次在使用malloc的时候前面要加一个强制类型转换,转换到你需要的类型,后面的括号内就是申请的大小,我这例子是申请的16个整数型大小内存代表这个m可以当数组用了
m=8899;
printf(“%d“,m);
free(m);//记得每次申请后都需要释放内存,不然会造成浪费影响计算机运行速度
}
calloc是申请后自动将申请的内存全都初始化为0
举个例子:
#include《stdio.h》
#include《stdlib.h》
main()
{
int
*m;
m=(int
*)calloc(16,sizeof(int));//是不是感觉差不多就是把*改成了,而已
printf(“%d“,m);//这个肯定是0
free(m);
}
将他们的原型放在这里void
*malloc(int
size);

void
*calloc(int
number,int
size);
size代表大小,number代表个数

amateur ;challenge ;saturation ; 这英语用谐音怎么读


amateur:哎么儿特儿,
challenge:切len几,
saturation:赛切儿瑞身。
其实英语单词很好自己读出来,只要掌握音标的读法就OK,但是会读不会意思就很奈斯,我就这样,而且英语语法真的杀我啊[/笑哭]

如何循环遍历document.querySelectorAll方法返回的结果


使用JavaScript的forEach方法,我们可以轻松的循环一个数组,但如果你认为document.querySelectorAll()方法返回的应该是个数组,而使用forEach循环它:
/* Will Not Work */
document.querySelectorAll(’.module’).forEach(function() {
});
执行上面的代码,你将会得到执行错误的异常信息。这是因为,document.querySelectorAll()返回的不是一个数组,而是一个NodeList。
对于一个NodeList,我们可以用下面的技巧来循环遍历它:
var divs = document.querySelectorAll(’div’);
.forEach.call(divs, function(div) {
// do whatever
div.style.color = “red“;
});
当然,我们也可以用最传统的方法遍历它:
var divs = document.querySelectorAll(’div’), i;
for (i = 0; i 《 divs.length; ++i) {
divs[i].style.color = “green“;
}
还有一种更好的方法,就是自己写一个:
// forEach method, could be shipped as part of an Object Literal/Module
var forEach = function (array, callback, scope) {
for (var i = 0; i 《 array.length; i++) {
callback.call(scope, i, array[i]); // passes back stuff we need
}
};
// 用法:
// optionally change the scope as final parameter too, like ECMA5
var myNodeList = document.querySelectorAll(’li’);
forEach(myNodeList, function (index, value) {
console.log(index, value); // passes index + value back!
});
还有一种语法:for..of 循环,但似乎只有Firefox支持:
/* Be warned, this only works in Firefox */
var divs = document.querySelectorAll(’div );
for (var div of divs) {
div.style.color = “blue“;
}
最后是一种不推荐的方法:给NodeList扩展一个forEach方法:
NodeList.prototype.forEach = Array.prototype.forEach;
var divs = document.querySelectorAll(’div’).forEach(function(el) {
el.style.color = “orange“;
})
-all