Упражнения C: продемонстрировать использование операторов & и *
Указатель C: Упражнение-3 с решением
Напишите программу на C, чтобы продемонстрировать использование операторов & (адрес) и * (значение по адресу).
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
void main()
{
int m=300;
float fx = 300.60;
char cht ='z';
printf("\n\n Pointer : Demonstrate the use of & and * operator :\n");
printf("--------------------------------------------------------\n");
int *pt1;
float *pt2;
char *pt3;
pt1= &m;
pt2=&fx;
pt3=&cht;
printf ( " m = %d\n",m);
printf ( " fx = %f\n",fx);
printf ( " cht = %c\n",cht);
printf("\n Using & operator :\n");
printf("-----------------------\n");
printf ( " address of m = %p\n",&m);
printf ( " address of fx = %p\n",&fx);
printf ( " address of cht = %p\n",&cht);
printf("\n Using & and * operator :\n");
printf("-----------------------------\n");
printf ( " value at address of m = %d\n",*(&m));
printf ( " value at address of fx = %f\n",*(&fx));
printf ( " value at address of cht = %c\n",*(&cht));
printf("\n Using only pointer variable :\n");
printf("----------------------------------\n");
printf ( " address of m = %p\n",pt1);
printf ( " address of fx = %p\n",pt2);
printf ( " address of cht = %p\n",pt3);
printf("\n Using only pointer operator :\n");
printf("----------------------------------\n");
printf ( " value at address of m = %d\n",*pt1);
printf ( " value at address of fx= %f\n",*pt2);
printf ( " value at address of cht= %c\n\n",*pt3);
}
Пример вывода:
Указатель: продемонстрировать использование операторов & и *: -------------------------------------------------- ------ м = 300 FX = 300.600006 cht = z Использование & оператор: ----------------------- адрес m = 0x7fff71cd0b38 адрес fx = 0x7fff71cd0b3c адрес cht = 0x7fff71cd0b37 Используя операторы & и *: ----------------------------- значение по адресу m = 300 значение по адресу fx = 300.600006 значение по адресу cht = z Используя только переменную указателя: ---------------------------------- адрес m = 0x7fff71cd0b38 адрес fx = 0x7fff71cd0b3c адрес cht = 0x7fff71cd0b37 Использование только оператора указателя: ---------------------------------- значение по адресу m = 300 значение по адресу fx = 300.600006 значение по адресу cht = z
Блок - схема:
Редактор кода программирования C:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на C, чтобы продемонстрировать, как обращаться с указателями в программе.
Далее: написать программу на C, чтобы добавить два числа с помощью указателей.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования