long long a[100];
cout<<a<<endl;
cout<<(a+50)<<endl;
输出的是不确定的,初始值未定义得到的这个数据是你的pc决定的,+50指数组a中的第51个元素的地址;
a是long long数组,+50将增加50 * sizeof(long long)个字节,那就是400个字节
数组也是指针
不遍历a打印每一项,而直接打印a,打印的是a的地址
a+50就是地址+50
a的地址是随机分配的,所以是不确定的
但是a+50相对于a是确定的
注意这里是指针加法,每+1是移动一个指针的位置
因为类型是long long,所以占8字节,也就是每+1移动8个位置
+50那么地址就+400
当你在编程中只定义了一个数组但没有给其赋值时,该数组中的元素值将为默认值,对于基本数据类型来说是 0,对于引用类型来说是 null。
在代码中看到 "+50" 的写法表示将这个值加上 50。比如,如果有一个变量 a 的初始值为 10,执行 a = a + 50 后,a 的值就变成了 60。