
- Главная
- Каталог
- Интернет технологии
- С/С++ Portal | Программирование
С/С++ Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика
Статистика канала
#include <stdio.h>
/* swap any two values of the same type safely */
#define swap_values(a, b) do { \
__typeof__(a) temp_holder = (a); \
(a) = (b); \
(b) = temp_holder; \
} while (0)
int main() {
/* swap two integers */
int first_number = 10, second_number = 42;
printf("before swap: first=%d, second=%d\n", first_number, second_number);
swap_values(first_number, second_number);
printf("after swap: first=%d, second=%d\n", first_number, second_number);
/* swap two floating point numbers */
double pi_value = 3.14, e_value = 2.718;
swap_values(pi_value, e_value);
printf("floats: pi=%.2f, e=%.3f\n", pi_value, e_value);
/* swap two string pointers */
char *first_string = "hello", *second_string = "world";
swap_values(first_string, second_string);
printf("strings: %s %s\n", first_string, second_string);
return 0;
}{}
#include <stdio.h>
static inline int sqr_int(int x) { return x * x; }
static inline double sqr_double(double x) { return x * x; }
static inline long double sqr_ld(long double x) { return x * x; }
_Static_assert(sizeof(float) <= sizeof(double),
"float too weird");
_Static_assert(sizeof(double) <= sizeof(long double),
"long double too small");
#define sqr(x) _Generic((x), \
int: sqr_int, \
double: sqr_double, \
long double: sqr_ld \
)(x)
int main(void) {
int a = 5;
double b = 3.14;
long double c = 2.0L;
printf("%d\n", sqr(a)); /* int overload */
printf("%.4f\n", sqr(b)); /* double */
printf("%.4Lf\n", sqr(c)); /* long double */
}{}
#include <stdint.h>
#include <stddef.h>
#include <stdatomic.h>
typedef struct {
uint32_t size; // must be power of two
uint32_t mask;
_Atomic uint32_t head;
_Atomic uint32_t tail;
uint8_t *data;
} Ring;
static inline uint32_t ring_count(Ring *r) {
return atomic_load(&r->head) - atomic_load(&r->tail);
}
static inline int ring_push(Ring *r, uint8_t v) {
uint32_t h = atomic_load_explicit(&r->head, memory_order_relaxed);
uint32_t t = atomic_load_explicit(&r->tail, memory_order_acquire);
if (h - t == r->size) return 0; // full
r->data[h & r->mask] = v;
atomic_store_explicit(&r->head, h + 1, memory_order_release);
return 1;
}
static inline int ring_pop(Ring *r, uint8_t *out) {
uint32_t t = atomic_load_explicit(&r->tail, memory_order_relaxed);
uint32_t h = atomic_load_explicit(&r->head, memory_order_acquire);
if (h == t) return 0; // empty
*out = r->data[t & r->mask];
atomic_store_explicit(&r->tail, t + 1, memory_order_release);
return 1;
}
{}
sendmsg(sock,
&(struct msghdr){
.msg_name = &(struct sockaddr_in){
.sin_family = AF_INET,
.sin_port = htons(9000),
.sin_addr = { .s_addr = INADDR_ANY }
},
.msg_namelen = sizeof(struct sockaddr_in),
.msg_iov = iov,
.msg_iovlen = 1,
},
0
);{}
#include <stddef.h>
size_t checksum(const unsigned char *data, size_t len)
{
size_t sum = 0;
for (size_t i = 0; i < len; ++i)
sum += data[i];
return sum;
}{}
#include <stdio.h>
#define COLOR_TABLE \
X(RED, "Красный цвет") \
X(GREEN, "Зеленый цвет") \
X(BLUE, "Синий цвет") \
X(UNKNOWN, "Неизвестная сущность")
typedef enum {
#define X(name, str) COLOR_##name,
COLOR_TABLE
#undef X
} Color;
const char* ColorStrings[] = {
#define X(name, str) str,
COLOR_TABLE
#undef X
};
int main(void) {
Color c = COLOR_GREEN;
printf("Enum ID: %d соответствует строке: %s\n", c, ColorStrings[c]);
return 0;
}{}
Отзывы канала
всего 2 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
С/С++ Portal | Программирование — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 16.6K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 12.2, количество отзывов – 2, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 6293.7 ₽, а за 26 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий