This is not possible in C89 (which is intended by most C compilers). C99 is supported by several and has compound literals:
int nums[5];
memcpy(nums, (int[5]){1, 2, 3, 4, 5}, 5 * sizeof(int));
However, you cannot assign an array. You can copy only his memory. You will need another array that you copy to C89
int nums[5];
int vals[] = { 1, 2, 3, 4, 5 };
memcpy(nums, vals, sizeof vals);
Note that the operator sizeofreturns the size of its operand in bytes.