Quelqu'un peut m'expliquer comment faire pour ajouter un élément à un tableau dans la programmation en C?
Si je veux ajouter un nombre à un tableau initialisé à int, comment puis-je le faire?
int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...
Je veux {0,5, 3, 64, 5} en fin de compte.
J'ai l'habitude de Python, et en Python il y a une fonction appelée liste.ajouter qui ajoute un élément à la liste automatiquement pour vous. Cette fonction existe dans C?
la taille du tableau doit être initialisée à contenir cet élément supplémentaire
si vous avez assez de mémoire que vous pouvez ajouter comme ce
Une liste et un tableau sont très différents types de conteneurs. Un tableau est un bloc contigu de mémoire et si vous voulez ajouter un élément, vous devez écrire à la position à la suite de la dernière position occupée, à condition que le tableau est assez grand.
Avez-vous l'intention d'utiliser un tableau qui croît lorsque vous ajoutez des éléments supplémentaires? En C++, vous pouvez utiliser
si vous avez assez de mémoire que vous pouvez ajouter comme ce
arr[4] = 5
simplementUne liste et un tableau sont très différents types de conteneurs. Un tableau est un bloc contigu de mémoire et si vous voulez ajouter un élément, vous devez écrire à la position à la suite de la dernière position occupée, à condition que le tableau est assez grand.
Avez-vous l'intention d'utiliser un tableau qui croît lorsque vous ajoutez des éléments supplémentaires? En C++, vous pouvez utiliser
std::vector
mais C n'offre pas quelque chose comme ça. Vous devez manuellement allouer de la mémoire supplémentaire.OriginalL'auteur user3326078 | 2014-10-06
Vous devez vous connecter pour publier un commentaire.
EDIT:
J'ai donc été demandé d'expliquer ce qui se passe lorsque vous n':
vous créez un tableau de 10 éléments et vous attribuer des valeurs pour les 4 premiers éléments du tableau.
Également garder à l'esprit que
arr
commence à l'indicearr[0]
et se termine à l'indice dearr[9]
- 10 élémentsaprès que le tableau contient des ordures valeurs /zéros parce que vous n'avez pas affecté toutes les autres valeurs
Mais vous pouvez toujours allouer 6 plus, les valeurs lorsque vous ne
vous attribuez la valeur 5 à la cinquième élément du tableau.
Vous pouvez le faire jusqu'à ce que vous allouer les valeurs pour le dernier indice de la
arr
qui estarr[9]
;Désolé si mon explication est agitée, mais je n'ai jamais été doué pour expliquer les choses.
Ce n'est pas le type de l'ajoutant OP faisait allusion. Ajout est à ajouter à la fin du tableau sans l'aide de son index.
OriginalL'auteur bitcell
Vous pouvez avoir un compteur (freePosition), qui permettra de suivre la prochaine place libre dans un tableau de taille n.
OriginalL'auteur Arjun Prasad
Il y a seulement deux façons de placer une valeur dans un tableau, et on est juste de sucre syntaxique pour les autres:
Ainsi, pour mettre quelque chose comme le 4ème élément, vous n'avez pas le choix, mais
arr[4] = 5
.Cependant, il doit échouer dans votre code, car le tableau n'est attribuée que pour les 4 éléments.int arr[10]
qui offre beaucoup d'espace.Je suis aveugle, apparemment. Merci.
Le 4ème élément serait à
arr[3]
pas?Je compte partir 0e 🙂
Même si je comprends ce que tu veux dire par '4e' en termes de 0e, 1er, 2e, 3e, 4e -- le libellé est un peu trompeur...
OriginalL'auteur Amadan
Si vous avez un code comme
int arr[10] = {0, 5, 3, 64};
, et vous voulez ajouter ou ajouter une valeur à côté de l'index, vous pouvez simplement ajouter en tapanta[5] = 5
.Le principal avantage de le faire comme cela, c'est que vous pouvez ajouter ou ajouter une valeur à un tout autre indice qui pourrait ne pas être obligé de suite, comme si je veux ajouter de la valeur
8
à l'indice 9, je peux le faire par le concept ci-dessus avant de le remplir avant d'indices.Mais en python en utilisant
list.append()
vous pouvez le faire par la suite indices.OriginalL'auteur Vignesh kanna