1. Initialisation par défaut:
int arr[26] = {
1}; // 初始化为{1,0,0,。。。,0}
Remarque: La liste d'initialisation initialise uniquement l'élément à la position indiquée et les autres positions sont initialisées à 0 par défaut.
Référence: initialisation du tableau C / C ++
vector<int> ans(5); //vector默认初始化为0
2. Pour l'initialisation de la boucle:
int arr[26] = {
1};
for(int i = 0; i<26;i++){
// 全部初始化为-1
arr[i] = -1;
}
3. Initialisation de memset:
int arr[26] = {
-1};
memset(arr, -1, sizeof(arr));
char arr_1[10]; //单字符的变量可以正常初始化
memset(arr_1, 'c', sizeof(arr_1));
Remarque: d'abord: fonction memsetInitialiser le bloc de mémoire par octets, Il ne peut donc pas être utilisé pour initialiser le tableau int à une valeur autre que 0 et -1 (sauf si l'octet haut et l'octet bas de la valeur sont identiques).
Deuxièmement: memset (void * s, int ch, size_t n); La plage réelle de ch doit être de 0 ~~ 255, car cette fonctionSeuls les huit derniers bits de ch peuvent être affectés à chaque octet de la plage que vous entrez
Encyclopédie memset Baidu
Pour résumer:
1. Il est pratique d'initialiser avec memset, mais notez que les valeurs autres que 0 et -1 ne peuvent pas être initialisées.