Есть функция, инициализирующая массив, состоящий из структур.
struct product *pr
pr->code[i] = (*code);
free(p.title) не помогает
int f(int p[][20][30])
{
int i = 1, j = 2, k = 3;
int v = p[i][j][k];
}
...
int p[10][20][30];
f(p);
int f(int *p, int n2, int n3) // p[][n2][n3]
{
int i = 1, j= 2, k = 3;
int v = p[(((i * n2) + j) * n3) + k]; // v = p[i][j][k];
}
...
int p[10][20][30];
f(&p[0][0][0], 20, 30);
int f(int n2, int n3, int p[][n2][n3])
{
int i = 1, j = 2, k = 3;
int v = p[i][j][k];
}
...
int p[10][20][30];
f(20, 30, p);
определить первый и последний сегмент
получаются куски,которые мне не нужны, а нужен конечный пакет в виде TCP данных
как можно в обычной переменной изменить значение третьего бита или получить его значение
int v = 8;
int v3 = (v >> 3) & 1; // получил значение третьего бита (0/1)
v ^= (1 << 3); // инвертировал третий бит
v |= (1 << 3); // установил третий бит
v &= ~(1 << 3); // сбросил третий бит
Как это объяснить
$ cat print.c
#include <stdio.h>
#undef printf
int printf(const char *fmt, ...)
{
puts("my printf\n");
return 0;
}
int main()
{
printf("%d\n", 10);
return 0;
}
$ gcc print.c -o print
$ ./print
my printf
,мои попытки не увенчались успехом,к сожалению
struct float_parts {
unsigned fraction:23;
unsigned exponent:8;
unsigned sign:1;
};
union float_and_parts {
float f;
struct float_parts parts;
};
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
int n = 0;
float sum = 0, prois = 1, sumg, suma, x;
for (;;) {
scanf("%f", &x);
if (x == 0)
break;
n++;
sum = sum + x;
prois = prois*x;
}
if (n > 0) {
suma = sum / n;
sumg = pow(prois, 1. / n);
}
printf("Suma %f", sum);
getch();
}
struct tcphdr *tcph = (struct tcphdr *) (datagram + sizeof (struct ip));
iph->tot_len = sizeof (struct ip) + sizeof (struct tcphdr);
iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);
Правильно в хедере писать extern int var, а объявление делать в каком-либо .с файле