Это работает.
char s[] = {'\x20', '\x09', '\x0a', '\x0d'};
Это не так, потому что «ошибка: ожидаемое выражение перед токеном ']' (или '}'):
char s[4];
s = {'\x20', '\x09', '\x0a', '\x0d'};
char s[4];
s[]= {'\x20', '\x09', '\x0a', '\x0d'};
char s[4];
s[4]= {'\x20', '\x09', '\x0a', '\x0d'};
Есть ли правильный способ определить и инициализировать две разные строки без использования индексов? Я знаю, что могу сказать:
char s[4];
s[0] = '\x20';
s[1] = '\x09';
s[2] = '\x0a';
s[3] = '\x0d';
Но из любопытства, я упускаю что-то тривиальное или это неизбежно в C?