ВНИМАНИЕ! На форуме начался конкурс астрофотография месяца - СЕНТЯБРЬ!
0 Пользователей и 1 Гость просматривают эту тему.
Пример изящества Си.
char *str1[] = {"Это классический массив. Смотри его нотацию" }; printf("\n\t %s его адрес %p ", *str1, str1); *str1= "Изменяю классический массив"; printf("\n\t %s и его адрес %p ", *str1, str1); // случай 2 Массив создается указаелем. char *str2 = "Это массив созданный указателем. Нотация уже совсем другая "; printf ("\n\t %s\n", str2); str2 ="Изменяю массив с указателем"; puts (str2);
Создадим два массива первый через указатель и [ ] , второй только через указатель.
А следующий должен быть D.
char *str1[] - массив указателей на строки. Т.е. он не один, их много. Но проинициализирован только первый своей строкой.char *str2 - это просто указатель на строку.
Сам начинал с этой книги, на мой взгляд одной из лучших: https://disk.yandex.ru/i/2xQDMOCtIF0moA
#include <stdio.h>int main(int argc, char **argv){ printf(" %d\n",sizeof('x')); printf(" %d\n",sizeof("x")); printf(" %d\n",sizeof("xx")); printf(" %d\n",sizeof(char)); return 0;}
Неожиданно. Почему sizeof символа x - 4 ?
Надо наверное так: printf(" %d\n",sizeof((char)'x'));
Расстановка 8 ферзей.
Цитата: Toth от 16 Авг 2025 [20:55:03]Расстановка 8 ферзей.В чём изящество?
Кстати, на чисто-Си и Фортране-77 есть исходники от Международного Астрономического Союза - http://www.iausofa.org/Можно посмотреть описания