Конкатенація (лат. concatēnāre, об'єднання, з'єднання) — в загальному сенсі - функція з'єднання двох сутностей або результат такої операції[1][2].

Конкатенація в програмуванні - послідовне з'єднання значень декількох змінних та повернення результуючого значення. Аргументами такої функції можуть бути такі сутності, як рядки або масиви, результатом - ланцюжок цих сутностей.

Приклади:

  • конкатенація слів «мікро» і «світ» дасть слово «мікросвіт».
  • конкатенація рядків «34» та «84» дають результат «3484».

У математиці[3]

ред.

Конкатенаціябінарна операція, визначена на словах даного алфавіту. Якщо   і   слова в алфавіті  , то конкатенацією слів  і  , яку позначимо в цій статті як  , буде слово  в тому ж алфавіті  , що визначається рівністю

 .

Наприклад, якщо   і   слова в алфавіті  , що містить всі літери латинського алфавіту, то

 .

Властивості конкатенації

ред.
  • Операція конкатенації асоціативна.
  • Операція конкатенації некомутативна. Дійсно,  , але  . Від перестановки операндів змінюється результат операції, що й означає її некомутативність.
  • Порожнє слово,  , є нейтральним елементом (одиницею) операції конкатенації. Тобто, якщо  - порожнє слово, то для будь-якого слова   виконана рівність:

 .

  • Множина   всіх слів у алфавіті утворює моноїд (так звана «вільна напівгрупа»).
  • Множина   всіх непустих слів у алфавіті утворює напівгрупу.
  • Довжина конкатенації слів дорівнює сумі довжин операндів:

 .

Піднесення до степеня

ред.

Операція конкатенації слів, подібно операції множення чисел, породжує операцію піднесення до степеня. Нехай   деяке слово в алфавіті   , а   ціле невід'ємне число. Тоді  -м ступенем слова  , що позначається  , буде слово   в тому ж алфавіті  , визначене рівністю:

 

У випадку  , степінь  за визначенням буде рівною порожньому слову,  .

В інформатиці

ред.

Операція конкатенації визначається для типів даних, які мають структуру послідовності (список, чергу, масив і ряд інших). У загальному випадку, результатом конкатенації двох об'єктів   і   є об'єкт  , отриманий почерговим додаванням всіх елементів об'єкта  , починаючи з початку, в кінець об'єкта  .

З міркувань зручності й ефективності розрізняють дві форми операції конкатенації:

  1. Модифікуюча конкатенація. Результат операції формується в лівому операнді.
  2. Немодифікуюча конкатенація. Результатом є новий об'єкт, операнди залишаються незмінними.[3]

Алгоритм

ред.

Алгоритм конкатенації на прикладі двох масивів наведений нижче[4].

Дано:

  1. Масив   з розміром  .
  2. Масив   з розміром  .
  3. Масив   з розміром  , що є результатом конкатенації масивів   та  .
  4. Індекс масиву  .

Суть алгоритму:

1. Виконати копіювання масиву   в масив   для  :

 

2. Виконати копіювання масиву   в масив   для  :

 

3. END

В мовах програмування

ред.

В мові програмування C функція конкатенації рядків strcat міститься в бібліотеці <string.h> [5][6].

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

#define N 50

void main() 
{ 
	// Декларація змінної example
	char example[N]; 
    // Копіювати рядок в змінну example
	strcpy(example, "Кон"); 
	// Виконати конкатенацію значення змінної example
	strcat(example, "катенація");
	// Вивести на екран змінну example
	printf("%s\n", example); 
}
  1. concatenate. Wiktionary, the free dictionary (англ.). 23 серпня 2024. Процитовано 7 листопада 2024.
  2. Definition of CONCATENATION. www.merriam-webster.com (англ.). Процитовано 7 листопада 2024.
  3. а б джерело?
  4. Dixit, J. B. (2011-07). Programming in C (англ.). Laxmi Publications. ISBN 978-93-80298-39-9.
  5. strcat() in C. GeeksforGeeks (амер.). 14 жовтня 2021. Процитовано 7 листопада 2024.
  6. Dixit, J. B. (2011-07). Programming in C (англ.). Laxmi Publications. ISBN 978-93-80298-39-9.