Does anyone have a way to initialize an array of ints (any multi-byte type is fine really), to a non-zero and non -1 value simply? By which I mean, is there a way to do this in a one liner, without having to do each element individually:
int arr[30] = {1, 1, 1, 1, ...}; // that works, but takes too long to type
int arr[30] = {1}; // nope, that gives 1, 0, 0, 0, ...
int arr[30];
memset(arr, 1, sizeof(arr)); // That doesn't work correctly for arrays with multi-byte
// types such as int
Just FYI, using memset() in this way on static arrays gives:
arr[0] = 0x01010101
arr[1] = 0x01010101
arr[2] = 0x01010101
The other option:
for(count = 0; count < 30; count++)
arr[count] = 1; // Yup, that does it, but it's two lines.
Anyone have other ideas? As long as it's C code, no limits on the solution. (other libs are fine)
#include libotherwchar_t is compiler-specific and can be as small as 8 bitsso that could be single byte. Second, I was hoping for something that could work on different types. But not a bad suggestion. Thanks.memset_pattern4(),memset_pattern8()andmemset_pattern16()since version 10.5.#includesor more options togcc