您的位置:首页 > 编程语言 > C语言/C++

C语言中的memset函数和数组指针

2016-04-25 20:41 134 查看
代码:

#include <iostream>
#include <cstring>

using namespace std;

int main(){
int a[5] = {1};
memset(a,5,sizeof(a));
cout<<a[0]<<" "<<a[1]<<endl;
cout<<a<<" "<<a+1<<endl;
cout<<&a<<" "<<&a+1<<endl;

return 0;
}


输出:

84215045 84215045
0x7fff9fa48db0 0x7fff9fa48db4
0x7fff9fa48db0 0x7fff9fa48dc4


分析:

memset函数是以字节为单位进行初始化,本例中初始化参数为0x050505=84215045;

数组指针a+1,增加的是一个int的空间,而&a+1,增加的是整个数组的空间;

C++中可以用std::fill_n()函数初始化,如std::fill_n(a,5,18),表示将a的前5个元素设置为18。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: