The C++ Standard does not support variable length arrays though some compilers can have their own language extensions that allow to use VLAs in a C++ program.
Thus this code snippet
int arraySize;
cin >> arraySize;
int array[arraySize];
is not C++ compliant.
Use instead the standard C++ class std::vector
.
As for C then according to the C Standard implementations may conditionally support VLAs.
You can check whether an implementation supports VLAs.
From the C Standard (6.10.8.3 Conditional feature macros)
1 The following macro names are conditionally defined by the
implementation:
__STDC_NO_VLA__
The integer constant 1, intended to indicate that the implementation
does not support variable length arrays or variably modified types.