Nada
0
Q:

array in c++

#include <iostream>
#include <array> //for using std::array

int main()
{

	int example[5];//array on stack
	int* another = new int[5];//array on heap
	delete[] another;//freeing up memory on heap
	example[0] = 1;
	example[1] = 2;
	example[2] = 3;
	example[3] = 4;
	for (int i = 0; i < 5; i++) {
		example[i] = 2;
	}
	int* ptr = example;//arrays are just pointers to the begining of the block of memory
	example[2] = 5;
	*(ptr + 2) = 6;//adding 4+4 bytes to ptr
	std::cout << example[2] << std::endl;//output => 6
	*(int*)((char*)ptr + 8) = 8;//adding 8 bytes to ptr using ptr arithmetic
	std::cout << example[2] << std::endl;//output => 8
	//std::array provide some additional functionality like bounce checking size checking but do have a performance overhead
	std::array<int,5> stda;//creating an array named stda of int 5 size
	std::cout << stda.size() << std::endl;//will output size of std::array ,output =>5   
    std::cin.get();
}
3
int foo [] = { 16, 2, 77, 40, 12071 };
9
// Array declaration by specifying size and initializing 
// elements 
int arr[6] = { 10, 20, 30, 40 } 
  
// Compiler creates an array of size 6, initializes first 
// 4 elements as specified by user and rest two elements as 0. 
// above is same as  "int arr[] = {10, 20, 30, 40, 0, 0}" 
4
const int len = 3;
int arr[len];

arr[0] = 4;

int abc[4]{0,12,3}
0
// Array declaration by initializing elements 
int arr[] = { 10, 20, 30, 40 } 
  
// Compiler creates an array of size 4. 
// above is same as  "int arr[4] = {10, 20, 30, 40}" 
0
int baz [5] = { }; 
0
int foo [5] = { 16, 2, 77, 40, 12071 }; 
0
int foo[] = { 10, 20, 30 };
int foo[] { 10, 20, 30 }; 
0
int bar [5] = { 10, 20, 30 };  
0
int leng = 10;
double X[leng];
0

New to Communities?

Join the community