logo

Оператор адреси & в C

The Оператор адреси на C це спеціальний унарний оператор, який повертає адресу змінної. Він позначається як Символ амперсанда ( & ) . Цей оператор повертає ціле значення, яке є адреса його операнда в пам'яті. Ми можемо використовувати оператор адреси (&) з будь-якими типами змінних, масивів, рядків, функцій і навіть покажчиків.

Синтаксис

Оператор адреси зазвичай використовується як префікс до свого операнда:



  &   operand>

де операнд може бути змінною, масивом, функцією, покажчиком тощо.

Адреса-оператор-в-C

Оператор адреси на C

string.compareto c#

Приклади операторів адреси

приклад 1:

Простий приклад C, щоб продемонструвати, як використовувати оператор адреси в нашій програмі.



C






// C program to illustrate the use of address operator> #include> > int> main()> {> >// declaring a variable> >int> x = 100;> > >// printing the address of the variable> >printf>(>'The address of x is %p'>, &x);> >return> 0;> }>

>

>

Вихід

The address of x is 0x7fffe8f5591c>

Пояснення

Змінна x було визначено та ініціалізовано значенням 100 у програмі вище. Ми отримали адресу цієї змінної x, використовуючи оператор адреси (&) як префікс, і надрукували її за допомогою функції printf().

Примітка: Специфікатор формату %p для друку адреси в шістнадцятковій формі.

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

приклад 2:

Використання вказівника для збереження адреси, повернутої оператором адреси, і подальше її розіменування.

C




// C program to illustrate the use of address operator with> // pointer> #include> > int> main()> {> >// integer variable> >int> x = 1;> >// integer pointer> >int>* ptrX;> >// pointer initialization with the address of x> >ptrX = &x;> > >// accessing value of x usin pointer> >printf>(>'Value of x: %d '>, *ptrX);> > >return> 0;> }>

>

>

Вихід

Value of x: 1>

приклад 3:

Деякі стандартні функції, такі як scanf(), також вимагають адресу змінної. У цих випадках ми використовуємо оператор адреси.

C




// C Program to illustrate the use of address operator with> // scanf()> #include> > int> main()> {> >// defining variable> >int> number;> > >printf>(>'Enter any number: '>);> >// using adress operator & in scanf() to get the value> >// entered by the user in the console> >scanf>(>'%d'>, &number);> > >// priting the entered number> >printf>(>'The entered number is: %d'>, number);> >return> 0;> }>

>

інкапсуляція в java
>

Вихід

Enter any number: 10 The entered number is: 10>

Оператор адреси несумісні сутності в C

Є деякі сутності в C, для яких ми не можемо використовувати оператор адреси, тобто ми не можемо отримати адресу цих сутностей у C. Деякі з них:

  1. Зареєструвати змінні
  2. Бітові поля
  3. Літерали
  4. Вирази

Застосування оператора адреси (&):

Оператор адреси (&) широко використовується в програмах на C для отримання адрес різних об’єктів. Деякі з основних і найпоширеніших програм:

  1. Передача покажчиків як аргументів функції
  2. Арифметика вказівника
  3. Реалізація структур даних