我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第20篇文章,点击查看活动详情
示例:
用于演示数组元素存储在连续位置的 C++ 程序
#include <iostream>
using namespace std;
int main()
{
// 10 个整数的数组。 如果 arr[0] 存储在地址 x,则 arr[1] 存储在 x + sizeof(int) arr[2] 存储在 x + sizeof(int) + sizeof(int) 等等。
int arr[5], i;
cout << "Size of integer in this compiler is "
<< sizeof(int) << "\n";
for (i = 0; i < 5; i++)
// 在变量名前使用“&”会产生变量的地址。
cout << "Address arr[" << i << "] is " << &arr[i]
<< "\n";
return 0;
}
用于演示数组元素存储在连续位置的 C 程序
#include <stdio.h>
int main()
{
// 10 个整数的数组。如果 arr[0] 存储在地址 x,则 arr[1] 存储在 x + sizeof(int) arr[2] 存储在 x + sizeof(int) + sizeof(int) 和 很快。
int arr[5], i;
printf("Size of integer in this compiler is %lu\n",
sizeof(int));
for (i = 0; i < 5; i++)
// 在变量名前使用“&”会产生变量的地址。
printf("Address arr[%d] is %p\n", i, &arr[i]);
return 0;
}
输出
Size of integer in this compiler is 4
Address arr[0] is 0x7fff7a02db20
Address arr[1] is 0x7fff7a02db24
Address arr[2] is 0x7fff7a02db28
Address arr[3] is 0x7fff7a02db2c
Address arr[4] is 0x7fff7a02db30
遍历数组的另一种方法
#include<bits/stdc++.h>
using namespace std;
int main()
{
int arr[6]={11,12,13,14,15,16};
// Way 1
for(int i=0;i<6;i++)
cout<<arr[i]<<" ";
cout<<endl;
// Way 2
cout<<"By Other Method:"<<endl;
for(int i=0;i<6;i++)
cout<<i[arr]<<" ";
cout<<endl;
return 0;
}
#include<stdio.h>
int main(void)
{
int arr[6] = {11, 12, 13, 14, 15, 16};
// Way 1
for(int i = 0; i < 6; i++)
printf("%i ", arr[i]);
printf("\n");
// Way 2
printf("By Other Method: \n");
for(int i = 0; i < 6; i++)
printf("%i ", i[arr]);
printf("\n");
return (0);
}
输出
11 12 13 14 15 16
By Other Method:
11 12 13 14 15 16
数组与指针
数组和指针是两个不同的东西(我们可以通过应用 sizeof 来检查)。之所以会发生混淆,是因为数组名称表示第一个元素的地址,并且数组总是作为指针传递(即使我们使用方括号)。
C++中的向量是什么?
C++ 中的向量是 STL 中表示数组的类。向量相对于普通数组的优点是,
- 当我们声明一个向量时,我们不需要传递大小作为额外的参数,即,向量支持动态大小(我们最初不必指定向量的大小)。我们还可以调整向量的大小。
- 向量具有许多内置功能,例如删除元素等。
如果大家在阅读我的文章的时候发现了一些错误,欢迎在评论区留言告诉我。我是一个正在学习C++的蒟蒻,关注我,我们一起加油。