programing

C 프로그래밍에서 배열에 요소를 추가하는 방법을 설명할 수 있는 사람이 있습니까?

muds 2023. 6. 30. 22:40
반응형

C 프로그래밍에서 배열에 요소를 추가하는 방법을 설명할 수 있는 사람이 있습니까?

int로 초기화된 배열에 숫자를 추가하려면 어떻게 해야 합니까?

int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...

나는 결국 {0,5,3,64,5}을 원합니다.

저는 Python에 익숙하며, Python에는 list.append라는 함수가 있어 자동으로 목록에 요소를 추가합니다.그런 기능이 C에 존재합니까?

int arr[10] = {0, 5, 3, 64};
arr[4] = 5;

편집: 그래서 저는 당신이 할 때 무슨 일이 일어나고 있는지 설명해 달라는 요청을 받았습니다.

int arr[10] = {0, 5, 3, 64};

10개의 요소로 배열을 만들고 배열의 처음 4개 요소에 값을 할당합니다.

또한 기억하십시오.arr인덱스에서 시작arr[0]인덱스에서 끝납니다.arr[9]10개의

arr[0] has value 0;
arr[1] has value 5;
arr[2] has value 3;
arr[3] has value 64;

다른 값을 할당하지 않았기 때문에 배열에 가비지 값 / 0이 포함됩니다.

하지만 6개의 값을 더 할당할 수 있으므로 할당할 때

arr[4] = 5;

값 5를 배열의 다섯 번째 요소에 할당합니다.

마지막 인덱스에 대한 값을 할당할 때까지 이 작업을 수행할 수 있습니다.arr그것은arr[9];

제 설명이 서툴다면 죄송합니다만, 저는 설명을 잘 해본 적이 없습니다.

배열에 값을 넣는 방법은 두 가지뿐이며, 하나는 다른 하나에 대한 통사적 설탕입니다.

a[i] = v;
*(a+i) = v;

따라서 인덱스 4에 요소로 어떤 것을 넣으려면, 당신은 선택의 여지가 없습니다.arr[4] = 5.

여전히 이 질문을 볼 수 있는 일부 사람들에게는 C에 다른 배열 요소를 추가하는 방법이 있습니다.당신은 당신의 다른 요소를 추가하는 방법에 대한 C 코드를 보여주는 이 블로그를 참조할 수 있습니다.array.

하지만 당신은 또한 사용할 수 있습니다.memcpy()함수: 다른 배열의 요소를 추가합니다.사용할 수 있습니다.memcpy()다음과 같이:

#include <stdio.h>
#include <string.h>

int main(void)
{

int first_array[10] = {45, 2, 48, 3, 6};
int scnd_array[] = {8, 14, 69, 23, 5};
int i;

// 5 is the number of the elements which are going to be appended
memcpy(first_array + 5, scnd_array, 5 * sizeof(int));

// loop through and print all the array
for (i = 0; i < 10; i++) {
    printf("%d\n", a[i]);
  }

}

n 크기의 배열에서 다음 빈 공간을 추적하는 카운터(자유 위치)를 가질 수 있습니다.

다음과 같은 코드가 있으면int arr[10] = {0, 5, 3, 64};다음 인덱스에 값을 추가하거나 추가하려면 입력하면 됩니다.a[5] = 5.

이렇게 하면 연속 인덱스가 필요 없는 인덱스에 값을 추가하거나 추가할 수 있습니다(예: 값을 추가하려는 경우).8인덱스 9에 대해서는 인덱스 앞에 채우기 전에 위의 개념으로 할 수 있습니다.하지만 파이썬에서는 사용합니다.list.append()연속 인덱스를 사용하여 이 작업을 수행할 수 있습니다.

간단한 대답은 다음과 같습니다.

arr[4] = 5;
void Append(int arr[],int n,int ele){
    int size = n+1; // increasing the size
    int arrnew[size]; // Creating the new array:

    for(int i = 0; i<size;i++){
        arrnew[i] = arr[i]; // copy the element old array to new array:

    }
    arrnew[n] = ele; // Appending the element:
}


by above simple method you can append the value 

언급URL : https://stackoverflow.com/questions/26208788/can-someone-explain-how-to-append-an-element-to-an-array-in-c-programming

반응형