background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "2022-08-23 • Персонализация типов данных"

input logo icon
Video tags
|

Video tags

2022-08-23
персонализация
типов
данных
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:03
Good evening
00:00:06
Let's start our training session
00:00:08
which this time
00:00:10
were the ones who came
00:00:17
In the past in past classes We
00:00:20
dived into the depths of the story about that
00:00:24
why do we need pointers
00:00:26
how their address arithmetic works and
00:00:29
all that
00:00:30
this time in my opinion we should
00:00:33
get out of this somewhere to the side
00:00:35
either memory allocation
00:00:40
And
00:00:42
standard standard call for
00:00:44
distribution
00:00:48
traditionally the structure seems more
00:00:51
richer with a richer theme on
00:00:53
somewhere in the memory of me personally
00:00:55
always worried since childhood
00:00:56
I'm the one at leisure that I don't really have
00:01:00
in fact
00:01:03
how everything continues to be in smoke and
00:01:10
never do anything other than work
00:01:13
it continues to get easier like this
00:01:16
that's why it became easier after all
00:01:17
I finally read the book because I
00:01:19
I teach
00:01:21
It turned out that
00:01:24
that God is leading me with his
00:01:27
my own paths I teach from a book
00:01:29
Kernig adverbs I didn’t know what I was teaching
00:01:32
I teach on What speech kernels are here
00:01:35
That's why
00:01:36
Very close
00:01:39
and it turned out to be me once
00:01:41
too dry apparently this is the problem
00:01:43
therefore Any person who teaches
00:01:45
something
00:01:47
pretty quickly forced forced
00:01:50
teach something like
00:01:51
let's go further, it's for me
00:01:54
I didn't like it when I was
00:01:55
small
00:01:57
I wanted more detailed books
00:01:59
there is thank God there
00:02:02
brother's textbooks
00:02:05
more
00:02:07
I didn’t even give links Here But if you want
00:02:11
approximately in expanded form means with
00:02:14
read the text look at approximately
00:02:17
That
00:02:18
that I'm trying to wave my hands
00:02:22
then this is the kerning of the adverb and I’ll do it again
00:02:25
I’ll post a link to it, there are 40 types available
00:02:28
find on the Internet a very good PDF in
00:02:31
nasty in the text in the old text any
00:02:33
options nothing has changed for a hundred years
00:02:35
the book was written before I was born No
00:02:37
after of course but when I was little
00:02:41
and therefore
00:02:43
so you don’t have to worry about taking it
00:02:46
any any link
00:02:49
and She will tell you in some detail too
00:02:52
that's basically what I'm saying
00:02:54
there are examples
00:02:57
different
00:03:08
any subtle practice
00:03:10
we are in the process on our own
00:03:15
there and in her in this book as well as in that
00:03:19
what do I tell you now?
00:03:21
consciously no And what for someone
00:03:23
is a problem it is not deliberately
00:03:26
algorithms Because it is believed that
00:03:29
algorithms are separate, there is no home in it
00:03:32
data structures are shown I don’t have either
00:03:34
I plan none of the ethics very much
00:03:36
Elementary instructor data queue
00:03:38
elementary algorithms in the whole dad
00:03:40
simple completed How to write a program
00:03:42
like What are there but in reality
00:03:44
touched places
00:03:49
soldering there is a practice book
00:03:51
programming which significantly
00:03:53
the question of how to write goes deeper
00:03:54
program standard program in legalese
00:03:57
which are very worthy good
00:04:00
book and which she rarely comes across
00:04:03
physically in front
00:04:08
that's why it was translated, I also translated it into English
00:04:11
who bought the version who translated it
00:04:17
spilled sea books about algorithms
00:04:19
data structures
00:04:21
I actually plan to go around a few
00:04:23
side what is Academic
00:04:25
mathematics which is useful in everyday life
00:04:28
which you can
00:04:30
which 40 ways to learn which
00:04:33
excellent course with excellent methodology
00:04:36
Great books
00:04:39
If you know why all this is wonderful
00:04:50
that's the main idea of ​​this book
00:04:53
we take kerniga new and all the latest
00:04:56
lectures are almost in fact what she is
00:04:59
I don't even suspect it, I'm very close
00:05:01
I put it close to the text, it means this
00:05:04
visibility is in demand knowledge
00:05:05
remembered like this taught you taught how to collect
00:05:09
sosens
00:05:11
as self-taught as old age as a journeyman
00:05:15
masters
00:05:17
out of practical need
00:05:19
they systematically
00:05:22
here with C++, For example, I have the opposite
00:05:25
history tried to be systematically taught
00:05:27
always and just typing Little practice
00:05:30
his training it threw it turned out like this
00:05:34
misunderstanding
00:05:36
This is the area I work in
00:05:38
which is not very
00:05:42
Fine
00:05:43
so on that note we let's
00:05:46
let's try to deal with memory
00:05:49
and everyone else let's go look
00:05:53
let's go have a look, so here we are
00:05:57
we have the terminal
00:06:00
We will be very interested to find out what this nonsense is
00:06:03
like this an interesting story means right away
00:06:06
interesting moment when when you
00:06:08
restarted your money machine and decided
00:06:10
look at your past teams like this
00:06:12
it means once the arrows are up and then damn
00:06:14
knows that there is something absolutely
00:06:16
not what you typed
00:06:19
explanation for this
00:06:21
as I understand it, the simple thing is that
00:06:25
this is a list of commands that are there
00:06:27
are recorded
00:06:28
are recorded
00:06:30
teams that were in the last session
00:06:33
but you had several terminals and you
00:06:36
closed them in a certain sequence
00:06:37
even if you the creator didn't do it
00:06:40
they could close at the same time
00:06:42
the system closed its turn and now
00:06:44
sometimes it turns out to be the last
00:06:46
a closed terminal is not at all
00:06:48
the one that's your favorite
00:06:49
last time it works more it is necessary
00:06:51
was directly explicit last close
00:06:52
everyone else, nail this one, leave it
00:06:54
turn off the car and then close it
00:06:57
Then then your then will be saved in
00:07:00
the list of your past commands will be saved
00:07:03
Closest to the end is what you need in
00:07:07
In this case, this is not the case. Well, for example, how
00:07:09
search
00:07:11
One list for all your sessions
00:07:14
you can search you can search like this for example
00:07:17
by pressing Ctrl R
00:07:21
this reverse Ice Search pops up and you
00:07:24
type something there that you know
00:07:27
was your team remember there were no files
00:07:29
type 07
00:07:32
doesn't want
00:07:36
So who doesn't want Escape the end of Contra
00:07:41
than re-recorded or maybe when
00:07:43
closing somehow faded badly and did not
00:07:45
managed to sign up beautifully
00:07:48
4
00:07:49
[music]
00:07:52
there is no such thing, that is, in my case in my
00:07:55
case
00:07:56
such an emergency shutdown of a virtual
00:07:59
cars but I had to because I have
00:08:01
The system rebooted several times
00:08:03
for some of your needs
00:08:07
and therefore
00:08:09
apparently the team took it and didn’t remember
00:08:11
what a shame
00:08:14
Let's look at what we have, let's go to
00:08:21
We have something
00:08:24
test 08.7
00:08:29
good to show another editor which
00:08:32
more modern type
00:08:34
some kind of sublim text it seems
00:08:38
Good editors
00:08:40
Just to see what the world isn't
00:08:43
ends
00:08:47
So we have an address here
00:08:49
arithmetic with obviousness
00:08:52
to address arithmetic and call and
00:08:55
passing function parameters by value
00:08:56
and by
00:08:58
and the link is good
00:09:02
it means we stopped last time
00:09:04
By the way
00:09:06
what is worth no longer
00:09:10
the text is a typical example of an editor
00:09:13
which horseradish you can easily put
00:09:14
Now I'll show you how to do it like this
00:09:17
intersperse theory with practice
00:09:22
I don't want anything history
00:09:34
4 even exist
00:09:36
see
00:09:37
so good
00:09:41
with both text tell how he is
00:09:43
beautiful
00:09:44
there's a bow with 4
00:09:48
Linux
00:09:50
tutor
00:09:56
the instructions look exactly like
00:10:00
security and nightmare
00:10:03
Here But this is a good doctor so I
00:10:07
I’ll just mindlessly do what they do
00:10:09
they said
00:10:11
copy
00:10:13
respectively
00:10:16
pist
00:10:21
he just download it here and I’m sure, no, not
00:10:25
here to where
00:10:27
Well done, what a push even knows the command
00:10:30
I give my own password
00:10:32
[music]
00:10:33
Thanks for the work it's called
00:10:37
So trust people after this than this
00:10:39
what will come out on the screen is some kind
00:10:40
terrifying This is some terrifying Unicode
00:10:43
which they couldn’t digest what it was
00:10:47
was who these people were
00:10:56
just literally like I give up on what
00:10:58
language
00:11:03
wanted to say something
00:11:07
I give up, it’s actually Unicode
00:11:11
terminal
00:11:14
one more attempt does not swear So
00:11:16
we exist So I entered the password correctly
00:11:20
Yes, this is something, so we are left alone with
00:11:25
the best
00:11:37
[music]
00:11:39
let's understand at what stage it is
00:11:43
canine
00:11:50
I'll remove everything and try to just download
00:11:53
means if anything this one is wonderful
00:11:55
the program is just like this
00:11:56
the recipient is
00:11:59
the web guide it gets allows you to download
00:12:03
something on the command line from the Internet
00:12:07
here he downloaded something, it's true, it's good
00:12:10
good text after that wants
00:12:19
so he threw some kind of
00:12:21
deep devilry and further He must
00:12:25
there was sudoku somewhere like this Yes
00:12:29
It's probably possible to do what you need
00:12:31
this fair is disgusting on the screen
00:12:33
pooped And the corresponding file itself
00:12:35
recorded Let's look at this file
00:12:37
there was always a file
00:12:38
[music]
00:12:42
unix is ​​a system that
00:12:44
should make friends with her
00:12:46
there is
00:12:51
the same [ __ ] why was it on the screen
00:12:55
sent to binary file
00:12:57
I think that the court should type correctly
00:13:00
I pooped this on the screen It’s like it doesn’t matter
00:13:03
Maybe it was like with people there after all
00:13:05
I even suspect the tail of this team
00:13:07
what no need
00:13:10
We love our developers for this
00:13:13
that we are not up to that and honestly not up to that
00:13:16
C
00:13:22
such a mysterious act
00:13:26
pike perch too, that's all she types
00:13:29
shows someone being paid a salary that
00:13:32
he writes instructions like this
00:13:38
there are actually two teams in a row attributed
00:13:42
two teams working Now there's a new one
00:13:44
installs itself, that is, now
00:13:47
there was actually a connection
00:13:48
no outside tutor for the pharmacy
00:13:51
signature rebellious special left in
00:13:55
where the text was collected
00:13:57
starts Forgive me Lord
00:14:02
I think it's starting
00:14:07
and we will now open some test 8
00:14:12
because it already exists
00:14:15
here are the texts with one of them separately
00:14:18
free-standing graphic
00:14:20
the editor is really good here she is
00:14:22
he'll probably swear at the register
00:14:24
can you ask for money at all?
00:14:26
there he is all like he is funny
00:14:28
arranged Yes, first of all, he is so handsome with
00:14:31
backlit like something there
00:14:33
there's a menu on top
00:14:36
he clearly doesn’t do the project there, but
00:14:40
the main thing is funny, you see what he has
00:14:42
this is located here
00:14:47
especially when moving it is clearly visible
00:14:49
this is located here
00:14:51
something in which
00:14:53
in which It is simply located for now
00:14:56
if you poke there, he will
00:14:57
will jump on the file so you can
00:14:59
window move files it works with
00:15:01
programmers are not usually like that
00:15:02
they are usually small in size
00:15:04
and therefore When you have a file the length of a new one
00:15:08
You're stubborn in a small graphic form
00:15:11
the text is very cool actually it is
00:15:13
here is a property for which you can
00:15:15
forgive a lot text
00:15:17
for the fact that you see the code graphically in
00:15:20
usually you remember so, but here it means you
00:15:23
I really want it first I want it at the end
00:15:27
I'll just keep putting it all out there
00:15:30
yeah because
00:15:32
the characters are good and the editor is easier to see
00:15:37
the smartest access
00:15:41
I still have it
00:15:44
outside editors
00:15:46
still still still no one is better yet
00:15:49
it was found like this
00:15:52
so let's do something
00:15:56
let's copy
00:15:59
from 08 to test 09 and again
00:16:05
test
00:16:07
[music]
00:16:08
Let's edit this test
00:16:12
remove it from it
00:16:15
the structure is already good Yes
00:16:18
we'll [ __ ] everything up because
00:16:21
experimental functions they tell us now
00:16:23
Not needed
00:16:24
some arrays inhabit Let
00:16:37
some prince we will leave because
00:16:41
do not copy
00:16:48
we'll try to move on from this place somehow
00:16:51
further
00:16:56
Well, for example, let's look at the structure
00:16:59
that is, we know that we have arrays
00:17:02
Let's look at the structures to do this
00:17:04
it was clear that we had started something
00:17:06
explain
00:17:07
We will now tell you about the structure
00:17:12
and I of course when you are individual
00:17:16
you teach, you can send books to look for
00:17:18
Come back having understood about the structure but here in
00:17:20
In our case, the number is not recorded
00:17:29
Therefore, I have to sadly explain to everyone
00:17:31
helped
00:17:39
structures
00:17:44
structures are
00:17:46
Russian name fear clock English
00:17:49
the name astruct is the keyword
00:17:53
I'm here by the way
00:17:55
I wrote something that makes me feel ashamed now
00:17:57
it actually became
00:18:04
sign up should go like this
00:18:16
that's how it seems
00:18:19
Wait a second
00:18:25
Fine
00:18:33
I'll look now
00:18:41
Yes
00:18:46
Yes Yes
00:18:48
here everything is right, here's something more
00:18:52
that's right, I choked to write something
00:18:57
interesting it seems like it worked
00:19:00
here we are at the same time here here at
00:19:03
in this very important place we are at the same time
00:19:04
did two unexpected things
00:19:06
not explained
00:19:09
two things at the same time First we
00:19:13
here is the simplest structure declaration
00:19:16
I’ll announce and in general it’s clear what it is
00:19:29
Now
00:19:31
for example classic
00:19:44
node in tree
00:19:48
and speeches are a typical example
00:19:51
So we have pointers and I
00:19:55
now I want to give birth
00:19:57
I want to give birth
00:20:01
difficult Let it be some
00:20:04
first structure will be first it will be
00:20:06
like this
00:20:08
this structure is an entry in the database
00:20:11
that is, generally speaking generally speaking
00:20:14
into structures
00:20:16
structures are
00:20:23
thousands of changes per second
00:20:26
I need to explain
00:20:29
what now
00:20:51
so these are the most obvious structures
00:20:55
application is a record in the database
00:20:57
that is, when you for example
00:21:00
write down the database then for you then for you
00:21:06
it's quite natural to want you to
00:21:08
was in this database
00:21:12
data about people
00:21:14
there were some
00:21:16
one module one module one
00:21:19
bucket
00:21:20
you had some structured
00:21:23
information for example
00:21:25
let's put the most important thing age
00:21:29
that's why I want to talk
00:21:30
structure in which it consists of the whole
00:21:32
number indicating age
00:21:36
then from something like
00:21:39
now not so more human but
00:21:43
although on the other hand everything is there
00:21:44
Unfortunately, you can’t get out of it. Of course you can.
00:21:46
make it more beautiful but for now we are in demand
00:21:48
let's go with the integer that will be
00:21:50
indicate gender
00:21:51
we assign some meaning to it
00:21:54
zero There is an average gender, the first is female
00:21:58
second male
00:21:59
third third
00:22:03
Don't know
00:22:11
gender
00:22:24
We won’t give it any meaning and then we don’t want to
00:22:26
so that there is no name Yes, that’s logical
00:22:31
that in them this is an array Well and therefore an array
00:22:34
an array of letters Well, for example, Which one can
00:22:37
be the name Well, I don’t know It fit with a margin
00:22:41
up to 100 characters
00:22:43
For example, you
00:22:45
it's straight
00:22:52
his first name is his second name and last name
00:22:59
name with the same length It happens
00:23:01
scary name
00:23:03
inhuman size, maybe shorter
00:23:05
Well, we made it so big
00:23:08
ok, so we got such a thing too
00:23:11
I really want to operate on her completely
00:23:13
therefore we describe it as a structure
00:23:16
wonderful wonderful by the way
00:23:20
wonderful
00:23:23
a solution arises
00:23:28
because I've already done all this approximately
00:23:31
1000 million years ago
00:23:39
I'll check if there's one there
00:23:43
not everything is right at that end of the point
00:23:46
a comma is not so trivial that's how it is
00:23:50
structure definition
00:23:52
and now I want to use the structure
00:23:56
For example
00:23:58
then you're probably not very correct
00:24:00
placed
00:24:02
then you will understand why it is not very correct
00:24:04
So let me get her out of sin
00:24:07
structure Now I’ll take it and move it here
00:24:10
more precisely, just behind all these
00:24:13
arrays here
00:24:15
stuck here she will be me
00:24:21
there are some methods
00:24:28
sorry
00:24:33
one two three four
00:24:38
it hasn't jumped out of me yet
00:24:41
If you have a tap-stop that's what's there
00:24:44
everything is fine
00:24:45
shifts
00:24:47
what is it
00:24:53
[music]
00:25:02
the wrong shoemaker is configured
00:25:09
manually although there is
00:25:12
very nice trick on how to insert
00:25:15
before each line As many as needed
00:25:16
indentations with one blow directly through the volume
00:25:19
some array volume to go That's it for now
00:25:21
we don't need them
00:25:24
And here is this line
00:25:30
not the end of the program
00:25:36
now but it's not
00:25:40
this is not a variable
00:25:43
this is if my memory serves me right
00:25:46
This is me in this I am this structure this
00:25:53
Yes, it was I who gave it, it was me. Oddly enough
00:25:55
defined the type in some sense, that is
00:25:57
I need an instance of the structure then I have to
00:25:59
write something like this
00:26:02
and here
00:26:04
let's concentrate
00:26:07
structure strange syntax here I am
00:26:10
I decided I want to use objects
00:26:12
but now but now I want
00:26:16
an object of this kind to be generated in one
00:26:19
copy and I have to write
00:26:23
unfortunately it would not be possible to teach
00:26:25
standard use
00:26:29
this is the part of the post that was written here
00:26:32
this part depends on this type definition
00:26:35
that is, I seem to be as successful as I am
00:26:38
I’m writing here. For example, int is like that
00:26:40
I’m writing the structure so that the rivers Well, because
00:26:43
it just won’t understand the word rack of rivers
00:26:44
for some reason the structure of the dobrek will understand and
00:26:49
now I actually
00:26:51
structure number one and here I created
00:26:54
instance of the structure and now I can
00:26:56
use
00:26:58
that is, further: How should I actually
00:27:00
use what I mean I can
00:27:02
write down data for me And how And like this S1
00:27:08
H equals 33
00:27:13
Great, great and then I say
00:27:17
Satin
00:27:20
gender equals 2 for example yes
00:27:24
no matter what they say now
00:27:27
The question arises: how did I put the name there?
00:27:29
yes But then somehow
00:27:31
I'll add the name
00:27:34
somehow wrote down the name somehow
00:27:36
wrote it down
00:27:42
somehow the first
00:27:47
I did something, and now I can
00:27:50
for example print something like
00:27:53
C1
00:27:55
and equal
00:27:58
you will laugh
00:28:02
Let's see if it will
00:28:05
place
00:28:08
so this is the structure we are striptefams
00:28:11
we'll leave it for now
00:28:14
Here But since she actually
00:28:16
it’s not actively needed, I’ll comment it out
00:28:21
this is how we remember this
00:28:22
long comment
00:28:25
here Now let's try
00:28:26
what is there to collect 9 for?
00:28:35
the ad came together basically from one
00:28:39
times nothing is going to win
00:28:41
some kind of natural Yes, that's right
00:28:44
typed Everything works straight through A
00:28:47
that means we made the structure later
00:28:50
use then made one
00:28:51
an instance of this structure
00:28:54
And then you can do it generally simply
00:28:56
war miracles
00:28:58
we can multiply these structures S2
00:29:02
Can we not describe the second structure?
00:29:04
need to write
00:29:07
And now we even make something like this
00:29:10
allows you to actually make an array
00:29:12
you can't copy structures, but you can
00:29:14
Because in general, if you think about it, it’s us
00:29:18
There is an explanation
00:29:21
because the structure in general
00:29:24
memory
00:29:26
That is, everything I think I have
00:29:29
healthy memory block
00:29:32
this is where all this is located
00:29:34
farming and when do I need to copy
00:29:36
I mindlessly copy the block to my neighbor
00:29:38
memory to a memory block and then
00:29:40
interpret content as structure
00:29:42
that is, it just takes longer
00:29:44
copying this trick with arrays it
00:29:46
doesn't allow
00:29:48
and in general, these are correctly arrays
00:29:50
potentially infinite must have length
00:29:53
And here we know exactly what size
00:29:55
this farm here characters 10 characters
00:29:57
spent there there is such a wonderful
00:30:00
The aspect of alignment that is there in
00:30:02
depending on how the compiler
00:30:04
optimally communicate with these s uh
00:30:06
characters with
00:30:08
integers There may be in this
00:30:11
there may be holes in the memory structure
00:30:12
there is for example
00:30:15
empty bytes that cannot be called in any way
00:30:18
they just go around forever unused
00:30:20
Well, for example, there may be 32 free
00:30:24
for example between gender and first
00:30:27
so that for example all variables start with
00:30:30
borders 64
00:30:35
How it works is if you
00:30:38
assign two values ​​to the structure S1 then I
00:30:43
I assure you Everything will be appropriated before we start
00:30:46
from simple
00:30:47
We
00:30:49
let's print some
00:30:59
we will print the same age
00:31:12
and in my opinion it should
00:31:15
let's see how to print
00:31:18
yes You see it was printed, that is, for example
00:31:20
copy and it's all other fields there
00:31:21
also copies
00:31:26
initialize the array located
00:31:28
inside the structure these are questions on
00:31:31
interviews, god knows, maybe it’s impossible
00:31:35
I think that I think that it is possible
00:31:38
do initialization like this yes
00:31:40
let's make something interesting
00:31:42
initialization for example
00:31:49
I'm just making this up, but it seems there
00:31:52
there is initialization
00:31:54
we will make the structure
00:31:58
some
00:32:00
S3
00:32:01
So we initialize it on the spot
00:32:05
so maybe she should roll
00:32:09
like this, that is, we can say that he is there
00:32:12
You can't name the fields, but we can make 24
00:32:16
one girl
00:32:19
here you can use lines
00:32:22
character arrays are initialized like this
00:32:26
string literals were not used
00:32:34
Well, what else could Myna be?
00:32:43
and we'll see if this one will work
00:32:47
syntax
00:32:50
wildly Now we are very bold
00:32:54
[music]
00:32:56
we will print very speleo
00:33:00
All
00:33:04
S1
00:33:13
gender
00:33:15
equal too
00:33:18
percentage d C1
00:33:27
equals And here are the new hour formats
00:33:30
constantly it's with the line Here we are
00:33:33
same thing, let's chase the homeless
00:33:38
Enter S1
00:33:43
here's a ride
00:33:51
stopping for you
00:33:53
I don’t like it so much right away
00:33:56
guess it's not an array you're not
00:33:58
initialized note some
00:34:00
initialization completed
00:34:05
there are already three of course
00:34:12
By the way, there is a team that
00:34:15
allows
00:34:18
replace all occurrences And now I can
00:34:22
do it like this
00:34:27
replace all skull S1 with S3
00:34:33
globally That is, all occurrences in a row
00:34:35
on this marks the current line
00:34:37
please replaced it only here
00:34:41
everything is so useful to learn because it
00:34:45
total menu some editor it
00:34:47
team
00:34:53
Here she has a second-hand Smith. Generally super yes
00:34:57
Well let's bring this matter to a close
00:35:00
logical conclusion
00:35:03
And
00:35:06
insert this block here
00:35:21
and accordingly in the manner of C3
00:35:27
us
00:35:29
it must work because we
00:35:32
make a template
00:35:40
this word works Well now
00:35:42
incredibly interesting to me even more
00:35:45
interesting thing
00:35:48
[music]
00:35:50
let's leave A from 2 equal to S3
00:35:56
what is interesting and most of all to me
00:35:58
Interesting
00:36:01
will be with
00:36:05
name
00:36:13
will be copied
00:36:18
I don’t know how to format at all
00:36:24
and they did the right thing
00:36:26
these curled lines are ugly
00:36:29
expand the screen
00:36:32
not D Of course, if you want to replace
00:36:36
one letter then I am you say team
00:36:39
R here is no editing no input mode
00:36:42
rates R nothing changes Let's
00:36:45
a new letter It changed on the spot in
00:36:47
same mode command
00:36:49
there is such a purely programmer one
00:36:51
story
00:36:56
You see it was copied Why is it eggy
00:37:00
how many mistakes happen? Therefore
00:37:02
testing is our everything
00:37:06
there is some
00:37:11
What a school now But this is too much
00:37:17
there is something to the end of the words deleted mode
00:37:21
pit teams for all occasions
00:37:26
I almost gave up programming
00:37:29
quite a long time ago I don’t remember which one
00:37:34
[music]
00:37:38
better than now
00:37:43
come out Hurry up, you'll make people laugh
00:37:47
because of course I changed the wrong thing
00:38:02
Here
00:38:03
you see everything is wonderful, that is, it’s simple
00:38:10
What’s stopping you? It’s like putting it on Facebook
00:38:14
I'm interested in this not Stream not
00:38:16
interested in S2 here are two interesting things
00:38:21
here two were empty, I already had nothing
00:38:23
Yes
00:38:24
we gave him the contents
00:38:27
This is how this idea was correctly confirmed
00:38:30
in practice that everything works So we from
00:38:32
waiting for him allows you to create a structure
00:38:35
allows you to create instances to copy
00:38:37
them including copying lines inside this
00:38:39
generally a great way if you need it
00:38:41
somewhere copy some mess you
00:38:43
do the number array is terribly missing
00:38:45
do this So you want to return
00:38:47
for example, return an array not by reference
00:38:49
And returning it is completely refundable
00:38:51
value then you can write a function
00:38:53
which returns a structure
00:38:56
and in it put the Lonely array and yours
00:38:58
the data type will still be fine, that is
00:39:00
structure This is a custom data type
00:39:03
this is this in general but actually this
00:39:07
the main custom data type of which
00:39:10
There is
00:39:18
not all
00:39:26
I don’t remember how it’s defined in Russian
00:39:29
users
00:39:49
that's how it's custom to Italy there
00:39:51
all sorts of
00:39:52
great but somehow not cool
00:39:55
because we always get this whole structure
00:39:58
that is, we carry the stigma, there is a way
00:40:01
there is an easier way to have more fun
00:40:05
if we do
00:40:08
like this after this Here we are
00:40:11
we can determine the structure
00:40:13
use super Words Type
00:40:17
Def
00:40:20
here's what's next
00:40:24
further Here I am half my life completely
00:40:26
when I use tayviev I only copy
00:40:28
because there is absolutely nothing for me
00:40:31
allows
00:40:36
remember what order
00:40:39
what happened
00:40:42
repeat the words
00:40:45
because it's part of the type name
00:40:48
structure of TB rivers yes
00:40:57
Here
00:40:58
taxi distinguishes big small letters
00:41:01
not this one is not in the know, he distinguishes
00:41:04
fame or
00:41:09
to files with big small letters
00:41:11
different that's why we made this one
00:41:14
procedure why it is good for us And why
00:41:16
we can use this later
00:41:18
word last part
00:41:25
this is what we can use as
00:41:28
as the real name of the type and further
00:41:30
stupid to write
00:41:34
good
00:41:39
Ertom
00:41:47
continue to do exactly what we did
00:41:50
you can initialize it like this structure
00:41:53
This is where I suspect it’s possible for sure
00:41:58
it is absolutely possible to do the following
00:42:01
and everyone uses it
00:42:06
And
00:42:09
77 this number is good and then you can
00:42:12
type
00:42:19
So
00:42:21
and onwards
00:42:23
[music]
00:42:25
deuterium card a
00:42:29
he definitely pulls off this trick
00:42:32
obviously
00:42:33
was it in vain that we fought for the place here?
00:42:37
some
00:42:42
Usually he likes to leave it like this
00:42:44
delimiter
00:42:45
This is where we did
00:42:50
what we wanted Yes, we got these We want
00:42:54
convenient to use
00:42:55
everyone else based on behavior
00:42:58
what we defined it Everything works
00:43:00
heroic heroes Yes s-3
00:43:04
so that one of us can normally
00:43:13
Come on, copy it please
00:43:16
like this
00:43:21
You see everything prints fine
00:43:26
that is, we have determined the type that is convenient for us
00:43:29
Fine
00:43:30
Can we for example initialize
00:43:34
its something Let's try
00:43:38
I wonder if it's enough
00:43:41
similar type dev understands that we
00:43:43
link to the real structure here
00:43:46
Unfortunately, you cannot skip Fields if
00:43:50
maybe it's possible
00:43:51
I think not Read
00:43:54
somewhere in the directory almost at
00:43:56
Is it possible to initialize structures?
00:43:58
initialize their view field is equal to
00:44:01
meaning I think
00:44:04
mention everything, you don't have to mention the tail
00:44:07
start obliged
00:44:11
it's nobody John
00:44:17
leg glasses
00:44:20
strength
00:44:23
Here we are to this same comrade
00:44:27
Then
00:44:29
we'll even ask you to print something
00:44:34
Second
00:44:36
They
00:44:39
percentage from and accordingly We will take
00:44:49
so it seems like the letters are excellent
00:44:55
generally great if you pay attention
00:44:57
look at this block that we have
00:44:59
there is
00:45:01
then we created a variable we defined
00:45:04
type they created a variable and all that stuff
00:45:07
way to cut this whole one into one in
00:45:10
One in one blow, namely write here
00:45:13
So
00:45:14
we won't bother with it just
00:45:17
syntactic
00:45:28
and then it seems you can stop writing with them
00:45:31
check the structures here
00:45:36
May Type
00:45:40
structure consists for example
00:45:45
an integer called
00:45:51
For the life of me I don’t remember, I think it works
00:45:53
yes that's how it works
00:45:56
but you can usually complete the picture
00:45:59
they don't usually write like that
00:46:09
For the life of me I don’t remember if it’s necessary
00:46:12
should the bastard have different names or
00:46:15
Can someone else move on?
00:46:18
Mike type structure
00:46:22
Well, you can omit this title then
00:46:26
it's like you have an opportunity
00:46:27
it won't be possible to use a string
00:46:29
sometimes you need such perverted things
00:46:32
all this is a great professor of passing away
00:46:34
but you can also write it this way
00:46:38
So after this you have no structures yes
00:46:41
But you have it, you apply it directly
00:46:43
this way is very convenient
00:46:46
note that Taib Dev is generally not only for
00:46:48
structure is related. For example
00:46:50
you always apply in your
00:46:52
programming
00:46:54
typical array size
00:46:57
but you are also your liability, for example an array
00:47:00
integers worse, it's an array
00:47:03
long integers, worse, it's an array
00:47:10
it just means
00:47:18
this is Steve
00:47:21
here you can go further
00:47:25
and make it worse
00:47:30
to array
00:47:32
these very signs
00:47:37
It seems to me that it can be done directly
00:47:40
something like
00:47:48
Sorry no ok
00:48:02
32 pieces of such numbers form a certain
00:48:05
so defined as massive
00:48:07
interesting it will work but it doesn’t want to
00:48:11
this is still overkill
00:48:16
he's disgusted because
00:48:19
because for him it's all the same
00:48:22
it’s becoming unclear, I think it’s an array
00:48:24
such numbers cannot be made
00:48:26
but forefinger
00:48:41
there's an asterisk
00:48:47
Or then
00:48:51
after that you can use this ulipt
00:48:53
use
00:48:59
array
00:49:01
specific length as
00:49:03
custom type requires some kind
00:49:05
some kind of syntactic dances so that
00:49:06
to
00:49:09
it could be
00:49:11
so that it can be determined
00:49:14
enter the structures you are sure you can
00:49:17
it's definitely easy and all sorts of things
00:49:19
stupid writings can be cunning
00:49:21
custom type in general they are widely
00:49:24
present they do everything Where in
00:49:26
some can be applied to each other
00:49:29
that is, you can produce some
00:49:32
events That is, for example, write that
00:49:37
structure consisting
00:49:41
and from
00:49:44
from
00:49:46
array of 34 elements
00:49:50
in and
00:49:53
for example, a real array of
00:49:56
pointers to long integers
00:50:06
know of course some parameter for him
00:50:09
I'm still trying to make a record
00:50:12
impossible
00:50:14
the name of our object And this is
00:50:23
an array of pointers of which
00:50:27
Let it be 32 is a good number and 1000
00:50:32
similar signs
00:50:34
notice that I'm using the same one here
00:50:37
the type that was previously defined, yes that is
00:50:39
I have determined
00:50:41
I can even do it now
00:50:43
refer to each other
00:50:53
This one and this one are cyclical now
00:50:57
to go start being proud of your
00:50:59
it will be difficult to watch
00:51:01
I'm missing something somewhere
00:51:03
simplest
00:51:05
thing
00:51:08
then the absence of it results in the compiler
00:51:11
in a state of complete stupor
00:51:14
Certainly
00:51:23
the structure will have its turn
00:51:33
Yes, after that I'm all afraid again
00:51:36
Here and here they will begin to multiply
00:51:48
it worked I think it will work
00:51:51
right, that is, you see what it is possible
00:51:53
create a perfect siege that is
00:51:56
Can
00:51:57
can be safely determined
00:52:03
can be safely determined
00:52:06
so you can safely determine it first
00:52:13
type consisting of
00:52:16
Just
00:52:18
standard parts later for him
00:52:22
index fingers
00:52:24
it is important
00:52:27
Here is a pointer to it. This will also be
00:52:30
new type name
00:52:32
and the structure in which Jesus is found
00:52:36
Christ, this very type is also
00:52:38
array Yes, and it is also a structure
00:52:41
will have its own
00:52:44
both this and this name can be used
00:52:47
in creating a one-piece copy that
00:52:54
he is a copy
00:53:02
that's how she is
00:53:04
this instance has what it is
00:53:08
an instance of a structure consisting of
00:53:12
32 character array followed by
00:53:16
the next one
00:53:18
array 1 in 1000 elements consisting of
00:53:22
pointer to
00:53:24
consisting of pointers to without
00:53:27
signed long integer
00:53:30
and with one blow these structures
00:53:32
we can produce returns from functions
00:53:34
send functions take pointers too
00:53:38
arrays that is, have fun later
00:53:41
Bye
00:53:45
all this will not suit the studied city
00:53:49
completely fulfilled
00:53:51
this is the great power of the defined
00:53:54
users
00:53:56
satellite there will be order especially
00:53:59
structures classic classic
00:54:02
Aspect this structure is very important
00:54:09
Why do they write write usually write in
00:54:11
in that spirit, in fear of something like that and
00:54:14
then he still uses intimacy Well,
00:54:18
structure is generally such a record
00:54:21
all heterogeneous elements you want
00:54:23
homogeneous just for homogeneous
00:54:28
If you need named piece pieces
00:54:30
then pay a whole table of such records
00:54:33
Want to check it out
00:54:36
you can structure Well, or if you have
00:54:39
some real world object like this
00:54:41
seriously a real world object which
00:54:44
you want to describe Well, that is, you have
00:54:46
For example a car
00:54:47
number of doors color something else each
00:54:53
from obi- each structure members can
00:54:55
being a structure no one minds
00:54:57
so you can have a car
00:55:00
there will be four to a third further arrays of doors
00:55:04
And in every two it will be an object too
00:55:07
structure that may be present
00:55:09
training on the window Does the window go up?
00:55:12
binary variable
00:55:14
some one beat somewhere and so on and
00:55:17
so on so on heavy can she do it
00:55:20
does it close itself upholstery color if
00:55:22
there may be a speaker in the speaker too
00:55:25
very good type or speaker
00:55:27
What is the name of the manufacturer's company, how much is it
00:55:29
How much power is this diameter worth?
00:55:31
no matter how much rifle attaches any
00:55:34
an object existing around us we can
00:55:36
operate because we sit down in
00:55:38
we're going to go, we need a car
00:55:44
meanwhile in each specific piece
00:55:47
further down the decomposition lived his own engineer
00:55:51
who created it Therefore, if you
00:55:53
saw a picture of a car explosion
00:55:56
to pieces It is usually dismantled into pieces
00:55:59
Not bad blocked but actually
00:56:01
repair manual
00:56:04
usually shown as doors here
00:56:07
Then disassembling the door mechanism
00:56:09
lifts it
00:56:10
In a sense, the structure is a mechanism
00:56:12
creating programming exactly that
00:56:14
mapping to computer reality
00:56:16
real world objects we rise
00:56:19
to the next level of abstraction which
00:56:21
which is very easy to understand
00:56:24
arranged at the level
00:56:26
at the level of memory access there and
00:56:29
a small tongue inside is needed for this
00:56:32
for it to work but at the same time
00:56:33
good level take the real world and
00:56:36
describe the structure in the kernel as
00:56:38
Linux for example Well, a very good example
00:56:39
a large piece of the predatory year in the form
00:56:41
the structure is described absolutely everything that is
00:56:43
there are Internet packets that run there
00:56:45
same protocols with protocols protocols here
00:56:48
and packages for everyone in the fields Here they were coming
00:56:51
depict some functional essence
00:56:53
Why are you like they are needed but inside the kernel
00:56:57
presented in the shape of a heart They feel comfortable
00:56:58
contact that is what I was talking about
00:57:01
structure could contain structure
00:57:03
so therefore if you know that you
00:57:06
you do and these guys didn’t lie all
00:57:09
learned that you might be some
00:57:16
or fear thinks that they may be
00:57:20
I don't know what
00:57:22
doors Indeed this is the fourth door
00:57:26
number three he in turn can
00:57:29
be for example
00:57:33
it may have a sound structure
00:57:36
For example
00:57:42
means speakers Second second speaker
00:57:46
second speaker
00:57:51
the wild one is calling a lot, I'm sorry, this dad is
00:57:54
he's not holding him
00:57:57
time sealed
00:58:00
of course the diameter in inches is
00:58:11
this is more than a normal recording
00:58:14
human recording
00:58:18
in all subsequent
00:58:21
this is all your whole life will be
00:58:24
will consist of writing
00:58:26
Especially if
00:58:32
they stretch wider
00:58:38
good mistake there through the dot before
00:58:41
horizon because it's some
00:58:44
century Upper level of hierarchy
00:58:52
as if this is what predatory structures they are
00:58:57
are called an object
00:59:00
Here's the call syntax and meaning
00:59:03
what's happening
00:59:06
Looking ahead, I will say that the difference between
00:59:09
objects and structures is
00:59:11
the fact that there are objects attached precisely
00:59:13
rope function
00:59:15
very rude if explained in structures
00:59:18
no structure just data
00:59:20
therefore, 11 techniques for objects you
00:59:24
you can write
00:59:27
into the structure function and call that is
00:59:31
projection between objects
00:59:33
languages ​​are actually kind of redundant
00:59:38
overly promoted by object lovers
00:59:41
languages ​​You can do a lot
00:59:43
that is, actually a good object on
00:59:46
language But how some grew up, don’t look but
00:59:48
they took some with them
00:59:51
inherited a lot of pieces of it
00:59:53
syntax, that is, about pointers to
00:59:56
we say functions and then it’s completely an object
00:59:59
it will be possible to collect
01:00:01
But in general this is not interesting, that is, people
01:00:05
function pointers are rarely used
01:00:07
predatory code if they don’t try to pretend
01:00:10
object to program I think that
01:00:12
this is an intensive course for those interested When
01:00:16
it will be very interesting to talk then
01:00:19
it will become clear
01:00:21
but it’s important that things like this
01:00:24
consistent
01:00:26
challenge is absolutely the norm of life
01:00:31
very complex structured model
01:00:33
This might look like this, for example: This might look like this
01:00:36
describe, for example, a web page
01:00:41
Well, here's some third element 4
01:00:43
Block 5 5 paragraphs from top
01:00:47
and so on
01:00:49
The only thing is that you understand everyone
01:00:52
different day But this is the structure
01:00:54
tough because they got busy somewhere
01:00:57
writing these type maidens as they go
01:01:00
you can’t change That is, you have everything you
01:01:03
you will use everything will go down
01:01:04
rental hair growth in advance
01:01:06
predefined structures that are
01:01:08
variable only arrays Thank you different
01:01:13
signs Slightly in the wrong direction overall
01:01:17
such a recording should be in advance on this
01:01:19
compilation You know it's big
01:01:22
difference between
01:01:25
For example
01:01:27
All this can be sculpted on the go. That’s why it’s like this
01:01:30
good for parsing changing objects
01:01:33
Sorry to carry out in advance
01:01:37
there must be a hierarchy so that it can be understood
01:01:40
compiler You should explain at the level
01:01:42
defining your types
01:01:43
types of types of types of types and finally
01:01:46
to determine this one, come here
01:01:48
something like this
01:01:51
use as such a hard template But
01:01:54
I think this is Practitioner practice
01:01:55
exploit you to explain what I want
01:01:58
tell you now why why
01:02:00
it's sometimes unpleasant
01:02:02
but for now you don’t have tasks of this kind
01:02:05
which requires dynamic creation
01:02:07
objects of this word should not
01:02:10
there So so virtual that what am I
01:02:17
this is virtual, I want it
01:02:19
comment so it doesn't show off
01:02:24
He's really scary
01:02:26
and for Yes and even I said that I want
01:02:30
highlight
01:02:32
delete
01:02:33
move somewhere on Odnoklassniki
01:02:35
museum
01:02:40
if you care about anything I do
01:02:43
repeat I click on
01:02:47
shiftway and start selecting whole ones
01:02:50
lines shiftweb
01:02:52
Visual Then I click on the small one without
01:02:56
small shift
01:02:57
Delete like this needs to be inserted, I click on
01:03:01
Shift [music]
01:03:03
Why does 6 insert this before the cursor?
01:03:07
the way you want to do is very rare for you
01:03:10
just need to insert after the cursor
01:03:14
that's it
01:03:16
began to highlight in lines, usually in lines
01:03:18
I just want to
01:03:23
Click on the letter
01:03:28
you usually need to move blocks in rows
01:03:33
That's why
01:03:36
lines chopped for convenience
01:03:39
you post it like this therefore
01:03:43
it’s worse than not even Mayakovsky’s
01:03:45
Mayakovsky wrote Mayakovsky hit it
01:03:48
a line into parts Yes, these are poems into
01:03:50
program
01:03:52
use whole lines that's why
01:03:55
so take shiftv
01:03:58
allocated
01:03:59
deleted moved Where needed 6
01:04:08
so this is what we have achieved so far we have achieved
01:04:11
that we have structures that can
01:04:13
form
01:04:14
in a rather free manner
01:04:16
initializing is quite fun
01:04:19
You can do this in two steps or
01:04:22
one even reception in a row to make it through
01:04:24
keyword define your
01:04:26
own Type which is
01:04:28
structure
01:04:31
Why not do it
01:04:33
traditions he maintains along with himself
01:04:37
by itself Perhaps there is some kind of spicy
01:04:39
needed Why
01:04:41
made one like this
01:04:44
after this type this is the word
01:04:50
You can also use the factory one
01:04:53
number
01:04:56
I confidently use it in all variants
01:05:14
This is the function
01:05:16
nothing bothers her
01:05:21
this function returns the structure goodie
01:05:25
Why not
01:05:26
game is possible
01:05:31
and parameters can be obtained by index
01:05:34
can convey thousands of options there then
01:05:36
everything is completely human this
01:05:38
structure
01:05:40
and Now we will look at
01:05:43
I'm not now Let's see now we're heavy
01:05:46
we explained the cases incomprehensibly now
01:05:48
us a piece of questions and answers
01:05:52
send me questions and answers from colleagues
01:05:55
I'm sure there are some
01:05:57
because this is such a very important piece
01:05:59
galloped
01:06:02
Questions and answers
01:06:16
any questions I don't understand anything
01:06:19
in some place before Why is this good
01:06:22
maybe something else can be said or
01:06:25
how to write this in pragmatic terms
01:06:26
if it's clear what you want
01:06:33
If I were a school teacher, everyone
01:06:35
everything is clear, we write our own work
01:06:38
therefore for production therefore now
01:06:43
conditions Let's ask
01:06:52
I'm sure that Sasha, for example, yes in his
01:06:55
life saw the structure of anything
01:06:57
he misunderstands what he’s sitting here doing
01:07:00
he would have asked for example
01:07:06
and asked in the chat and you are at one o'clock Thank you
01:07:10
I just don't have a secretary
01:07:13
so ask out loud in short this
01:07:15
easier
01:07:17
it makes sense to write if it were completely
01:07:20
ruckus him
01:07:22
opened the chat easier Yes of course
01:07:25
This is the whole point: we got an entry in the database
01:07:29
data we want to get a table in the database
01:07:30
data then we do it like this that is
01:07:34
it's quite possible for us
01:07:39
th object of the event goal
01:07:45
you were not the key word
01:07:47
use
01:07:49
tapetable 1000 elements long here we are
01:07:51
got their thousands of people this area in
01:07:54
memory in which it turns out in which
01:07:57
lives the business database here John
01:08:01
Silver to work on No
01:08:02
without age he means so
01:08:06
half average but not wooden leg
01:08:09
incomprehensible
01:08:12
We haven’t hired them yet because we had to
01:08:15
you could initialize with this
01:08:17
initialize
01:08:18
no one does 1,000 elements like this
01:08:21
no idea Yes, but you can say something
01:08:22
array So, there is a structure inside it
01:08:25
It's clear
01:08:27
And then another
01:08:29
that is, in general, this is how it’s possible there
01:08:32
there the duration is infinite, that is
01:08:34
theoretically this can be made into something else
01:08:37
the thing is that it’s only for a test in real life
01:08:39
life you of course introduce this
01:08:40
silver and without a file or from the keyboard
01:08:42
created this memory array procedure
01:08:44
sorting A memory
01:08:47
she stood out herself right now when you
01:08:49
so they did, she stood out
01:08:52
whenever you write to an array
01:08:55
size on screen When you write this
01:09:00
then you have memory allocated for everything you need
01:09:04
number of elements, that is, you can
01:09:06
sleeping peacefully is another matter that she
01:09:07
stood out on the stack she turned to
01:09:09
function junction
01:09:11
At the moment
01:09:14
[music]
01:09:15
we actually violated what we tried
01:09:18
determined something and then started doing it
01:09:20
assignment went now again
01:09:22
definition
01:09:23
Hz allows classic terminovo
01:09:26
ancient Orthodox speeches, here he is not
01:09:28
allows
01:09:31
initialization assignment do something
01:09:34
it turns out to read something to do
01:09:36
change
01:09:42
all modern ones allow you to do this
01:09:44
like this in the middle of the road inside the loop
01:09:47
Ford delivered
01:09:51
if you do something like this
01:09:54
I see, well, as always, just using an example
01:09:57
these records may be leaked
01:10:02
so you do it and say it like this
01:10:09
Yes, then you won’t have enough memory
01:10:12
one lonely pointers hanging out
01:10:15
wonderful but it's just a place to serve
01:10:17
no structures will be highlighted
01:10:20
I see, that is, you can start
01:10:23
use this pointer After this
01:10:25
you have the impudence and chief
01:10:27
compiler calmly go
01:10:28
do something like you were
01:10:33
02
01:10:35
by the way, another interesting one
01:10:37
I'll show you 33 elements he has
01:10:43
gender equals 4 So everything will break
01:10:49
because your locals are the best
01:10:52
creepy rake
01:10:54
therefore, having made no selection anywhere
01:10:57
it didn't project anything to this
01:11:00
of course you
01:11:04
talk how to do it
01:11:12
no way if you do this
01:11:15
can the workpiece be completed? Well done
01:11:17
But to write such things I hope that
01:11:20
fate will allocate memory will not allocate
01:11:25
in Valentina lost on type maiden
01:11:28
then again you have the opportunity
01:11:30
describe the type
01:11:32
What ways can this be done?
01:11:35
just take the standard type for example
01:11:39
double, here we have defined variables of the type
01:11:42
Double
01:11:43
Great
01:11:46
What can you do next with all this?
01:11:50
you can go two ways How can you
01:11:53
you can expand the plot
01:11:57
your dev
01:12:01
double than you write a type description
01:12:05
not a variable description type description
01:12:09
the word itself
01:12:11
That's what we like to call DDT
01:12:16
knock me on the head
01:12:19
and after that I can use it in life
01:12:24
in the same in the same context just like
01:12:28
the replacement is syntactic
01:12:30
syntactic as a replacement for direct
01:12:32
alphabetic used
01:12:37
Well, not in terms of course, this is not a replacement for
01:12:40
throughout the text
01:12:41
V
01:12:42
in the same place where I used it but I can do it
01:12:47
to do differently I can say that
01:12:50
there is a structure consisting of for example
01:12:58
one type in the world
01:13:01
which consists of doubles and these
01:13:04
doubles You saw there for fun
01:13:06
inside
01:13:11
stand
01:13:13
this is a wonderful structure, nothing
01:13:16
even the name No, not interesting somehow, but I
01:13:19
I'll say this
01:13:24
Lion of structure this is it
01:13:28
my double fear is some kind of maidas too
01:13:33
my type also appears Yes, I can too
01:13:35
use i.e. dev i.e. general
01:13:38
type general version of the description where it is
01:13:43
further
01:13:49
IP
01:13:59
like this This line This is not this some
01:14:01
this is a certain pattern that starts later
01:14:05
I am writing I am defining the type and the description
01:14:08
structures are a variant of type definition
01:14:10
this whole barn with structure
01:14:13
this is an undertaking but I can do it
01:14:17
so I can write what I can
01:14:19
I can do more cunningly
01:14:21
say what to write first
01:14:23
structural type predatory plot twist
01:14:25
like this, that is, exactly like this
01:14:28
the structure of the USSR is something like this or
01:14:32
something somewhere there it has something
01:14:34
contents something written inside
01:14:38
A
01:14:40
satisfied with this
01:14:44
all That's all this is a statement
01:14:48
Yes this is the definition of But I can I can
01:14:52
make an object like above
01:14:54
simpler I already called it the USSR
01:14:58
instructions are here
01:15:00
brain slips
01:15:03
so I can continue to write like this
01:15:05
IP Def
01:15:11
USSR fruit is the name of the type
01:15:19
that is, looking at this very piece
01:15:23
This is this part, this is this part, this is what it is
01:15:27
so what is this and this is my name like
01:15:31
new and further Here we are
01:15:36
this is this
01:15:39
combination of structure definition and
01:15:43
definition
01:15:50
You can smack in one sitting then
01:15:53
then no structure of something like this
01:15:56
will not indicate the structure
01:16:00
This is such a method for
01:16:03
generation regeneration custom
01:16:06
types
01:16:07
why do users need them?
01:16:11
convenience so that it is possible at all
01:16:13
use because instructions
01:16:15
writing is disgusting I want to use
01:16:18
such a rubber shampoo link like this
01:16:20
ideological
01:16:23
use this string structure everywhere
01:16:25
instead of carrying it around with you so why the hell
01:16:28
After that, this word actually took my place
01:16:30
Well, how would the call function be used?
01:16:33
anywhere
01:16:35
Usually all these definitions live in
01:16:37
header files these are the same ones
01:16:39
these files are there in abundance
01:16:42
available have I then when in the text
01:16:46
they usually use normal ones
01:16:50
ready to create a library myself, but
01:16:53
some structures are used Where are they
01:16:56
they are sitting in these files they came
01:17:00
types
01:17:04
more or less that's how it got at least I hope
01:17:07
Wonderful
01:17:10
so here it is
01:17:13
What
01:17:15
a memory location is created in which there is
01:17:19
space for a thousand elements like this
01:17:22
type
01:17:24
What kind of guy is this? This is this. What is this?
01:17:29
in turn this is this Therefore somewhere
01:17:31
1000 is allocated in memory
01:17:33
consecutive blocks after
01:17:37
thousands of last blocks that have 32
01:17:40
bitika h30 each gender 100 characters
01:17:45
one name may be empty there but
01:17:47
another was highlighted And it started again 32
01:17:52
bitek that is
01:17:54
four barrels gender 100 Baltic one
01:17:56
place again
01:18:02
this is probably worth drawing
01:18:05
What does an array of structures look like?
01:18:09
soar drawing Of course I'll try
01:18:12
it's somehow
01:18:13
more or less draw here I have
01:18:15
structure which consists of some
01:18:16
such a block such a block of some kind
01:18:19
such a barrel in memory such a certain
01:18:22
the structure object in memory is also waiting
01:18:23
in a row this is not usually guaranteed
01:18:25
in a row this is one structure
01:18:30
this is memory for one structure
01:18:33
copy
01:18:39
instance of
01:18:47
this is the structure array when they
01:18:50
lie in a row
01:18:55
and here's to the last one
01:18:59
V
01:19:01
which in our case
01:19:06
This
01:19:09
table
01:19:12
99 they are from zero to this is it Yes and in
01:19:17
each of them is absolutely as it should be
01:19:19
the same internal one is located
01:19:20
structure one field second field
01:19:23
more authentic
01:19:25
that is, this is the pattern
01:19:33
repeats repeats again
01:19:43
there are 1000 of them here. This is an array of structures
01:19:47
So, understand, it’s lying in a glass
01:19:50
memory he's upside down it's me I see We
01:19:53
We always write from top to bottom Yes, when memory
01:19:55
it is drawn because it is always up
01:19:56
goes upside down said problem
01:20:00
conventions
01:20:01
in the structure it is highlighted at the junction because
01:20:04
that everything we define at the beginning
01:20:06
functions like this are standard
01:20:08
so everything is automatic
01:20:11
actually called automatic
01:20:12
change is why we said so here
01:20:15
decent because we have a thousand for 200
01:20:19
damn byte 200 plus 8 208 208
01:20:23
kilobyte
01:20:26
a quarter of a megabyte actually
01:20:29
we ate our tables, we have heroes
01:20:33
there was such a hero Vanya
01:20:36
Gromov who wrote the program which
01:20:38
broke down
01:20:40
somehow very funny She broke down before
01:20:43
stage from stage to stage of inputs when entering
01:20:46
function before execution starts there directly
01:20:47
In fact
01:20:48
I found out that Vanya created this in two
01:20:51
reception through Virgo type Vanya created
01:20:53
experimental variable which
01:20:55
was 4 GB in size
01:20:58
ate the whole stack
01:21:00
about 8 GB
01:21:05
And when the function started to be called it
01:21:07
I wanted to put my stack like that
01:21:09
the frame in which I spoke last time and
01:21:11
But there wasn’t enough space and a segment
01:21:13
says there was a shot there really was
01:21:16
a day of the most interesting research in years
01:21:18
five six years such a program program
01:21:21
still experimental
01:21:24
beautiful became How can you break something
01:21:26
So a powerful group of engineers will
01:21:29
will watch the cars
01:21:33
the mistake is the simplest
01:21:35
This is a typical example of a structure that can
01:21:38
be voluminous I can say thank you
01:21:39
a large number of elements and it
01:21:41
will have a healthy memory object
01:21:43
this one climbs 1,000 of these elements
01:21:45
But if Vanya Gromov you don’t have any
01:21:47
limits zeros peed there 10 times
01:21:51
more there 10 times more Total 100
01:21:54
so these are almost structures and
01:21:56
its memory is allocated on your stack
01:21:58
she can watch programs
01:22:00
there are some challenges on this topic directly
01:22:03
on the go and see like this
01:22:10
ok I think
01:22:14
Okay because probably we have
01:22:18
this with you have problems with gender if you don't
01:22:21
you know we have big problems now
01:22:24
Let's improve this program by ordering one
01:22:28
item We're missing right now
01:22:30
and this is exactly the name
01:22:34
ease of use
01:22:36
language when the numbers 1 2 3 4 5 10 means
01:22:40
something concrete
01:22:42
Well, we know that the middle gender there is female
01:22:44
male in there wooden but
01:22:50
we should keep it, it's not ours
01:22:52
head
01:22:53
extremely inconvenient extremely inconvenient code
01:22:56
incomprehensible SE presents on the topic
01:22:59
mechanism
01:23:02
this is such a mechanism
01:23:04
this is another type of definition
01:23:06
custom type is an enum
01:23:13
so that naturally he remembers how he
01:23:17
gender is determined
01:23:26
where is what is written
01:23:29
fire me now we really
01:23:32
In fact, now I can put it in Richie’s terms
01:23:34
and this is Kernighan Richie for me right away
01:23:38
sample I Numa
01:23:41
woe, I always use you very much
01:23:43
big alien cat at work that's why there
01:23:45
everything has already been written before me
01:23:47
it's just a matter of copying
01:23:54
like no, that's a big problem
01:24:00
That is, all of us to him is one now we
01:24:04
let's understand how it is
01:24:05
really problematic
01:24:09
but no Yes there is like it’s still not
01:24:12
rights
01:24:13
it can be done without type simply
01:24:16
use
01:24:17
let it be
01:24:21
it will be
01:24:24
For example 1000 This type for example
01:24:33
differed from the fields themselves and so here
01:24:36
we tell him
01:24:37
I do not like
01:24:46
here we write to him like this
01:24:52
For example
01:25:04
The problem here is that
01:25:09
we tell him
01:25:11
the types behave badly there through
01:25:14
you can't call the point especially
01:25:16
When will I be harsh now?
01:25:19
your disgusting mistakes
01:25:20
practice Call everything else
01:25:21
in different ways all all options Ian could even
01:25:25
20 differently and under by agreement they
01:25:27
will be written in big letters this is an agreement
01:25:31
that's why I write underscore here
01:25:34
gender because just the word Newton
01:25:37
maybe they will get to someone else later
01:25:38
indistinguishable to the compiler Therefore it is better
01:25:41
do it humanely
01:25:48
I'm going now
01:25:51
Good question, I remember this stupidly, but
01:25:54
even from textbooks about what
01:25:57
so So this is generally better
01:26:03
I can specify without a type
01:26:08
[music]
01:26:18
the names in the various enums must
01:26:20
to be different from each other writes to us
01:26:22
terms of speech and so it is so it is
01:26:27
it's just that's the name of its type
01:26:31
yes If I need I need to specify Which one
01:26:34
like something yes, but it doesn’t give any effect
01:26:38
compiler ability to guess From
01:26:40
which one I think you took From what type
01:26:42
used Therefore it is better to attribute
01:26:44
so here it is
01:26:47
but there is accordingly maybe maybe
01:26:49
write For example
01:26:54
had
01:27:00
a bit long ok
01:27:09
during the development process I can most importantly
01:27:11
it's nice to increase these
01:27:13
used three meanings
01:27:15
rewrite program 4 as follows
01:27:17
do Therefore usually
01:27:20
genders For example, Silver is strange
01:27:27
male wood floor
01:27:31
Great, so I created Magic Food
01:27:38
inside and in the listings actually
01:27:41
in fact an integer lives
01:27:42
I can lie maybe they are for
01:27:46
optimization sometimes turns shorter
01:27:48
there's a small integer
01:27:49
not suitable for storage
01:27:52
there could be billions of values
01:27:56
such a limited quantity that
01:27:58
transfers doing this
01:28:00
and for example I can say after this
01:28:03
Like this
01:28:10
Now it makes sense
01:28:14
that's what's interesting about printing, that's all
01:28:17
equally good as a whole
01:28:19
where do I have it left but we did this one
01:28:22
we give him a [ __ ]
01:28:25
press
01:28:35
gender is one hell of a whole behavior
01:28:38
like a whole there to accidentally assign to him
01:28:40
the number there is 5 it will work but since we
01:28:43
why did you do that anyway
01:28:44
let's do plus assigned for example
01:28:48
that Silver is naturally available
01:28:51
male wood floor
01:28:53
and we will print it out
01:29:00
Like this
01:29:02
And how And here and but by no means C language
01:29:07
and this is the text we used
01:29:10
it won’t show in printouts
01:29:12
there is a possibility to scratch
01:29:14
syntax
01:29:16
genomes syntax and print it
01:29:18
in capital letters I don't know about it
01:29:19
now therefore the print module is otherwise
01:29:22
just take it yourself
01:29:24
so we can print it normally
01:29:27
only
01:29:28
[music]
01:29:30
I hope I am doing now only with the help
01:29:33
print naturally as an integer
01:29:37
It's here Oh my god
01:29:43
So So this is it like this
01:29:48
and we'll see
01:29:58
in short, I feel that somewhere we are
01:30:00
Even
01:30:01
[music]
01:30:03
now there's something here for us something here for us
01:30:07
someone cheats us when they want something
01:30:10
unclear
01:30:13
so he says I want it like Yes okay
01:30:20
they have something like this
01:30:23
So maybe
01:30:27
naturally
01:30:29
so so so so so so
01:30:33
somewhere one of us is lying, that is, in
01:30:37
in any case, it definitely works with integers
01:30:38
Let's try the simplest one first
01:30:39
way but a disgrace I'm good
01:30:43
Yes, it’s natural that this type doesn’t know
01:30:47
it's clearly possible there
01:30:55
Under Type
01:30:59
maybe it's like a function
01:31:01
[music]
01:31:04
well that's how it works
01:31:08
works It's like a structure most likely
01:31:10
it works yes that is
01:31:12
it can be done what and where you are
01:31:14
happy
01:31:20
I'm starting to think gloomy enjoyed
01:31:24
You see there is only one gender
01:31:27
gender 3 yes Silver 3 he is Why three
01:31:30
then it’s interesting we can read no
01:31:32
let's see, here's why
01:31:34
because in fact we have Januma
01:31:37
invisible For us they are numbered from zero here
01:31:39
this is a neutral agent 0 this is one this is two and
01:31:42
three but we can do anything and
01:31:45
do it like this for example
01:31:54
then immediately the thirteenth
01:31:57
that is, we added ten And that’s it
01:32:01
started spinning
01:32:03
we can do something wrong
01:32:11
Well because it makes sense
01:32:15
equals
01:32:16
30 But Woodingender, for example, it will be
01:32:20
equal to male, that is, 30 but also
01:32:24
wooden 31 this is just convenient
01:32:27
this is convenient for reading in decimal form
01:32:29
When we recompile it all and
01:32:31
let's start we will have 31 that is a man
01:32:33
with a wooden look men metal
01:32:36
for example, to understand what you wanted
01:32:38
do
01:32:39
Let's drive the extra floor
01:32:43
in this case you always forget the truth
01:32:46
comma don't forget this
01:32:49
why double strike What kind of stupidity is this
01:32:52
it was kind of modern
01:32:59
very stern like Superman
01:33:04
Naturally, he broke out, he says
01:33:07
my fathers decided to appropriate this
01:33:09
incredible something that is not in the genome
01:33:12
That's right, because because I am him
01:33:14
always copying
01:33:16
transferred it will now work
01:33:23
better that is, the tongue controls us
01:33:27
does not allow me to write down a full hat
01:33:29
31 which is not easy It’s clear why 35 it’s possible
01:33:33
You can raise Silver and let's jump
01:33:35
steel
01:33:36
So what's this
01:33:39
naturally this one
01:33:41
it's just convenient but with the same success
01:33:45
you can make a type dev no one does it for us
01:33:48
continues to interfere
01:33:50
always convenient
01:34:04
Type
01:34:06
a pointless procedure but it can be done in one
01:34:09
squat do it straight yes I like it
01:34:11
So this is such a Genu Yes, enter
01:34:15
by GT and it will only work bridge
01:34:18
you can do words
01:34:27
the word is of course not a type yet
01:34:31
think wrote Why Because this
01:34:35
gives nothing
01:34:37
to write every time
01:34:40
[music]
01:34:44
executable Everything works we return to
01:34:47
water that will recycle us and
01:34:49
look at what we actually did We created and
01:34:52
enumeration gender enumeration
01:34:54
determined the type of gender listings
01:34:58
gender enumeration
01:35:00
will be called gender type Yes this one
01:35:04
gender type was used in the structure
01:35:05
And now it’s quite convenient
01:35:07
use the entrance
01:35:09
and you can even directly write things like
01:35:12
For example
01:35:16
someone we have here got a female one
01:35:19
floor
01:35:22
here you can talk about this same Smith
01:35:26
write additionally
01:35:29
And
01:35:33
use ternary operator
01:35:38
just to remember how
01:35:40
pieces of tongue dark from the dark corners of it
01:35:51
line
01:35:56
here will be a line feed and here y
01:36:00
we will be a tornado operator I since
01:36:02
it would be falsely beautiful this thing really
01:36:04
in fact, everything is so simple there as usual
01:36:05
they don’t come out in lines, yes, but sometimes it’s possible
01:36:07
show off
01:36:09
string literal I think it will work
01:36:11
now Let's see This is exactly for
01:36:14
in order to static program
01:36:15
written it comes out conveniently
01:36:20
better than brackets
01:36:23
they are with us
01:36:25
S3
01:36:29
S3
01:36:41
if it is equal
01:36:50
It is already clear that it is better to start such things
01:36:52
with genter jenner somehow it's better to Well
01:36:56
ok if it's really equal then
01:37:06
and if not equal
01:37:18
either feminine or stupid
01:37:26
this is how we will have women's day
01:37:29
feminism
01:37:30
in total they actually did the whole Print Well
01:37:34
let's see if it works
01:37:35
again, not everything happens so beautifully
01:37:39
strings can't be handled so terribly
01:37:40
everything here is understandable if you think about it
01:37:43
why is there more in other places?
01:37:45
work stupid
01:37:49
Why did we want to do all women
01:37:53
and that's why because while we're here
01:37:55
our chambers were introduced and ceased to be once
01:37:58
two three four her female must
01:38:00
be 20
01:38:03
not at all this same one at all
01:38:06
no not one but not even 20
01:38:11
when he turns 20
01:38:14
Yes, everything will be then she will take what she deserves
01:38:17
place
01:38:18
Now
01:38:21
see
01:38:23
Well, it’s clear that from the terminal
01:38:24
operators there branching you will suffer
01:38:26
do but you can make such a mechanism
01:38:27
printing which generates a line by
01:38:29
to the young man Here is a normal person who
01:38:32
this problem really suffers and makes
01:38:35
makes a function that prints this
01:38:37
goes somewhere where it should be and for
01:38:40
this goal I think it defines higher
01:38:43
to use this function
01:38:46
takes means this is the whole farm
01:38:50
somewhere up
01:38:54
here he deletes
01:38:57
now Control Oh what?
01:39:01
Control Shift I
01:39:04
bring up the Holy Altai
01:39:08
no, because
01:39:18
Counter
01:39:20
beige block This can be done A
01:39:24
so here it is
01:39:25
translation
01:39:29
Great power That is, what others
01:39:31
editors are given What everything is Just
01:39:35
banned such Well, everything is great and now
01:39:37
on these loaves of bread because what
01:39:40
definitely visible from outside the function
01:39:41
inside, now we define the function
01:39:44
which will be called for example
01:39:47
accepted this is not very true it will be
01:39:50
be called for example
01:39:55
it will be called
01:40:00
gender bai and well
01:40:03
I just love it, she will return it
01:40:06
that's nothing else but a pointer
01:40:11
on
01:40:13
on
01:40:17
the input to this function will be the parameter
01:40:20
be
01:40:22
gender variable of gender type
01:40:29
don't mind or
01:40:32
not everything happened, it's scary. It's not
01:40:36
let's figure out all these abbreviations
01:40:37
sooner or later they get shot so they
01:40:40
It’s also better not to get carried away, but let him
01:40:42
let's write something like this: For example, here
01:40:44
there will be an array that we will make
01:40:47
and into this array pull out the excellent ones
01:40:50
there will be an array called
01:40:54
Don't know
01:40:57
center thong
01:40:59
line which will
01:41:07
Oh now I’ll go into some area
01:41:10
which is forgiveness
01:41:11
it will be
01:41:14
3 element character array
01:41:17
this will be a two-dimensional array that would
01:41:20
now initialized at all Like this
01:41:23
it's just now we all shudder it
01:41:27
well it will be called
01:41:31
neutro
01:41:34
No, I don't even like that
01:41:38
I do terrible things but don't say mine
01:41:42
to my mother that I rode the train without hands
01:41:46
April's array is here
01:41:50
I think that we will be trampled with this approach
01:41:53
Because because the array is two-dimensional
01:41:56
the array should still be
01:42:01
with a square like that, that is, three
01:42:04
elements have 100 letters each, so for example
01:42:06
let's do it there like this 10 20 if
01:42:10
I remember correctly you can initialize
01:42:11
So
01:42:14
Please note that I’m generally improvising a hike that
01:42:17
I wish you something the language allows something
01:42:18
No
01:42:20
V
01:42:23
blue allows arrays of this stuff in
01:42:26
position in which
01:42:28
determined by calculation therefore array
01:42:30
variable-length strings possible
01:42:35
to use an array like this
01:42:38
not possible Others are possible
01:42:39
objects storage objects spend but you
01:42:43
just like that we want to make it difficult
01:42:46
do the simplest thing
01:42:51
Mail Well, I'm too lazy but
01:42:58
so I have it and mail Steel
01:43:03
such an array and so we also see
01:43:06
inside here one day he is definitely
01:43:08
static he sits he is not even highlighted
01:43:11
for steaks By the way, what we saw outside
01:43:13
limits all functions are allocated to a certain
01:43:15
special area of ​​the program which
01:43:17
loaded at
01:43:20
That is
01:43:22
I don't even have a joint it's just special
01:43:24
a piece of memory as if carved out in memory
01:43:26
the processor lies there on the topic started
01:43:28
get into areas
01:43:29
because I wanted to show it as a function
01:43:32
this type can be done without special
01:43:34
labor and here we will apply our
01:43:38
Switch operator now is not in vain Yes why
01:43:42
we can use it because Switch
01:43:44
used HIV cannot be used
01:43:45
complex string comparisons are not clear
01:43:48
less setting to compare integers
01:43:50
compare has integers one
01:43:53
Cathedral team compare
01:43:56
deep down for everything there are integers
01:43:58
only on top of syntactic sugar for
01:44:01
us to make it convenient to work with them very comfortable very good
01:44:04
Switch allows you to anyway
01:44:06
That's why
01:44:09
based on gender to perform Switch
01:44:12
which is a lot of very parentheses unfortunately
01:44:15
at the end of each candle just
01:44:22
something needs to be done
01:44:24
Well, for example
01:44:29
do a lot of returns from functions this
01:44:32
it's a shame, so let's start it now
01:44:34
variable
01:44:35
which will be called
01:44:37
Char star
01:44:41
reking string return string final we
01:44:46
we will make one refund This is good style
01:44:48
Always try to return
01:44:50
return from a function in one place
01:44:56
Why
01:44:58
Because then you have analysis
01:45:02
it will be convenient just And if it’s a backup
01:45:04
you will poke in different places then you have
01:45:06
execution will be interrupted along the way
01:45:07
the play will come my friend who has reached
01:45:09
will take in the middle of the loop from the functions
01:45:10
it will work out no no I still want it
01:45:13
came to an end, they worked and returned to
01:45:16
one place except for the monstrous ones
01:45:19
errors from which you can eat this style
01:45:21
if there is an error, print a message and
01:45:22
falling out is also not very good usually
01:45:25
make better Go To Go to console
01:45:28
[music]
01:45:30
and here we are in we need to return
01:45:34
It is absolutely impossible to return genders
01:45:36
who knew nothing at all here
01:45:38
we'll start
01:45:40
let's create this gender
01:45:47
impossible
01:45:50
some element of course 3 funny 3 4 5
01:45:54
6
01:45:58
27
01:46:00
RS equals
01:46:07
indicate this is the 6th element from died on the array
01:46:12
its elements are pointers. But if
01:46:15
wrote This is the fifth letter
01:46:18
sixth element
01:46:20
5 number 5 that would be
01:46:23
4 it was a capital R
01:46:27
exactly
01:46:29
more difficult before our eyes
01:46:32
case And then I just take the list
01:46:39
Here
01:46:42
minor editing
01:46:48
It’s the same here, for example, and here
01:46:53
listen to this sly one all this all this
01:46:55
block and always like this
01:46:58
crooked and there are 4 spaces like that
01:47:11
great masters would do it more
01:47:13
economically
01:47:16
now I need the end of it all
01:47:19
junk so remove the colon
01:47:21
put
01:47:22
you see, put a colon because
01:47:25
correspondence between these numbers
01:47:27
Yes and
01:47:29
elements of this array curve Yes, too
01:47:33
somehow you can see what’s here and somehow
01:47:34
shows himself
01:47:37
quite crooked Yes it is in places Yes because
01:47:40
what are you after all, these are not pythons, not Peru
01:47:43
which which associative arrays
01:47:46
all sorts of things that are generally sold on
01:47:48
at the system level, all sorts of databases with a key
01:47:52
and I also want to first default at the end
01:47:56
What if he writes down Let's
01:47:59
anyway, let's leave this one Yes, it's a sword
01:48:03
good style Let the last one
01:48:04
there is nothing better than a sketch
01:48:06
go out clearly
01:48:09
this is the opportunity
01:48:11
this is what a normal person does too
01:48:14
This is how he does it somehow Like this
01:48:17
first makes a line like this
01:48:20
reproduces Why is this done to do this
01:48:23
was actually a mistake
01:48:25
so that if you didn't insert the letter y there
01:48:28
you were mistaken otherwise there is a chance
01:48:30
copy number 6 make 3 lines
01:48:32
go out smoke come back because it means 6
01:48:36
this will be the zero element you are the first
01:48:39
element this will be the second element and here
01:48:41
It’s already clear that sometimes you want
01:48:43
he had an index
01:48:46
clever arrangement of these things can
01:48:49
just return this row by index we
01:48:52
already renamed we needed
01:48:53
convert
01:48:55
here's the share first second third
01:48:57
the fourth one looks like we need to find out now
01:49:00
Is it on my part or not?
01:49:03
in the correct order I wrote it all down
01:49:05
walked functions Will she get ready or has she already
01:49:08
considered the most important from the very beginning
01:49:11
fiction my programming class
01:49:13
growing before our eyes
01:49:16
and let's then
01:49:19
let's repeat let's repeat the story about Anya about
01:49:22
which we knew only differently
01:49:30
no, not even like that, we’ll repeat this now
01:49:32
cooler will show us the flexibility of what we have
01:49:34
we have now we will have gender
01:49:37
output as
01:49:40
line here and here we'll just call this
01:49:44
function our function is gender bai
01:49:51
What did you call it?
01:49:55
gender scared
01:49:58
That's wrong, that was Kinder
01:50:00
string probably should have been called differently
01:50:04
this is called refactoring sense
01:50:08
functions need to be named humanly
01:50:09
There are different standards on this topic such
01:50:11
semi-domestic there are official ones even somewhere
01:50:14
it’s better to work out one for yourself
01:50:16
it's awkward to follow
01:50:18
there are a lot of parameters but that's why
01:50:23
it is absolutely acceptable to write
01:50:25
visually
01:50:27
when there are many parameters and use your hand
01:50:30
make an extra indent ovulation there
01:50:34
four spaces Keep up the good work
01:50:36
If you want them to go in a row
01:50:39
What's wrong with that? Is there anything else you can do there?
01:50:44
ledge inside for them Well, let it be
01:50:46
So
01:50:50
not that bad
01:50:53
one of the reasons why spaces do
01:50:55
more beautiful to
01:50:57
Well, okay, yes, it seems like it should
01:51:00
work what what it will return gpe to
01:51:02
pointer to string string we
01:51:04
no one changes their static memory Yes
01:51:09
why not
01:51:12
praying O God what will happen
01:51:14
let's say
01:51:17
and not we are not masters and megamasters, he is everything
01:51:22
it turned out yes, that is, by combining all our
01:51:24
elements of knowledge we received enomchik
01:51:27
got the print generator function it
01:51:30
can be very difficult
01:51:32
you can be localized by this array
01:51:34
change by language
01:51:37
we put it all in we put it all in
01:51:40
we inserted these structures into the structure
01:51:43
gave birth to
01:51:44
by the way, you can
01:51:48
Yes, yes, we did the initialization beautifully
01:51:51
But by the way, no one bothers us
01:51:52
initialize the unhappy girl
01:51:54
the number is not hers. So 20 is possible
01:51:57
instead of 20 instead of 20 insert a number here
01:52:00
and it will work, that is, everything we have
01:52:02
yes we got quite working
01:52:04
Let's repeat this only once, write the file and
01:52:07
making a smaller database than we do
01:52:09
we are moving towards making a telephone
01:52:10
a guide to the simplest tasks
01:52:11
which you can set for yourself
01:52:13
Write yourself a phone number that somehow
01:52:17
looking for something there
01:52:18
prints something somewhere, yeah
01:52:21
a simple file like this fits files
01:52:22
picked up the pieces we have already started to collect
01:52:26
we are on our way to the telephone
01:52:27
reference book but you see how in general
01:52:29
I want a telephone directory
01:52:31
use the richness of the language
01:52:32
from custom printing we already have some
01:52:35
yes And he has a special structure and array
01:52:39
the structure has already run through while they
01:52:41
enjoyed
01:52:43
definitely stored yes, but that’s the same thing
01:52:46
So we are well done, well done, well done
01:52:50
a lot of success in that, it’s already 11 o’clock
01:52:53
Therefore, dear colleagues, let's
01:52:54
ask me anything this time
01:52:56
the material was
01:52:58
more structured went easily
01:53:01
my head doesn't hurt so ask
01:53:03
anything and we'll finish it because
01:53:05
We've achieved a lot, we'll never get there
01:53:08
how to store something memory
01:53:10
but we talked about structures today
01:53:18
Is it me or the print functions in
01:53:22
default case
01:53:23
index which does not exist Actually
01:53:33
Of course there's one mistake
01:53:38
sacred
01:53:40
so why how to fight this
01:53:44
fights with this
01:53:48
This means that mine, for example, is mine
01:53:52
program
01:53:57
Maybe she'll never get there
01:53:59
state print this default
01:54:02
well written but it would be wise to write more
01:54:04
such test blocks Yes, but if this
01:54:07
you put the function in the library to write
01:54:09
test blocks that call everything
01:54:10
possible values ​​for example 01 305 a
01:54:13
then out of spite -5
01:54:16
what do we have 1000 We have if
01:54:22
we want to do well
01:54:24
experience only positive options
01:54:26
used only these names but knowing
01:54:29
what what mischief can this thing not
01:54:32
checks blue check yourself what this is
01:54:34
the thing is in this range it is not
01:54:36
will swear if you are this gender
01:54:37
you'll set me up
01:54:39
substitute some 78 there are limits
01:54:44
[music]
01:54:45
how smart the runtime is
01:54:48
Imagine different meanings if we are there
01:54:51
a thousand different ones. I should write to him
01:54:53
do a thousand checks on each call
01:54:55
Yes, to make sure that you are in
01:54:57
the range will be 1,000 checks
01:54:58
cost more than everything already completed
01:55:00
language functions for real boys and and
01:55:04
strong, that is, here it is for for those who
01:55:08
knows what he's doing and that's why
01:55:12
this is the default check No it's you
01:55:15
we should write ourselves a function to do this
01:55:16
works fine that's why they put it here
01:55:18
default catcher Yes and even defaults
01:55:20
the printer is such a bastard, although they could
01:55:22
for example with the function to return which Well
01:55:24
pointers and then at the other end
01:55:26
check that it is equal to zero zero
01:55:28
there is absolutely no indication of the case
01:55:30
valence pointer pointer
01:55:32
which is written zero B is considered that
01:55:34
zero memory checks it is generally in
01:55:36
nature is stored Nothing good And
01:55:38
so there is a place there
01:55:40
a pointer means it doesn’t point anywhere
01:55:43
you didn't really return anything
01:55:45
good checking style
01:55:47
good option that you return
01:55:50
initiation pointer but we instead
01:55:52
return the string
01:55:53
so and how to do it it is written
01:55:59
that is, test test program all
01:56:03
meaning is the whole essence which causes everything
01:56:05
remove all your functions and all your modules
01:56:07
perverted parameters
01:56:09
and she doesn't check all your work
01:56:12
conglomerate that you wrote but how
01:56:13
She carefully torments every piece
01:56:15
Therefore it is normal
01:56:19
can be simply understood from combinatorics Yes
01:56:21
what if you take the program from there 40
01:56:23
Each module has two different modules
01:56:25
parameter to test combinations
01:56:27
you need two in the forties of different impacts
01:56:29
they are still out of them perhaps outside A
01:56:32
to check each module
01:56:33
individually it's only 80 twice
01:56:36
multiply options therefore Unit But they
01:56:40
check everything together so they are good as
01:56:43
would be low level unit tests or more
01:56:44
major tests in the final test of the overall
01:56:47
program so this is what we understood
01:56:49
our mistake would be a Unit test in theory
01:56:51
should have written this
01:56:53
compile the function into a separate library
01:56:56
a separate function we are the whole essence of which
01:56:58
call
01:56:59
with some with some interesting
01:57:02
range of parameters for our function and
01:57:04
print that she
01:57:06
So this is a good good case where
01:57:08
Without Unit tests We could be there forever
01:57:11
stuck with this number 6 that's when
01:57:13
once when I used the function
01:57:15
unprepared
01:57:17
our problem
01:57:23
Do you have any other question or
01:57:37
I have a question, can I see where you are?
01:57:42
asked
01:57:43
gender here
01:57:48
these are 6 elements Yes no I indicated this
01:57:54
just a name
01:58:01
this is the length of the length of each line The point is
01:58:05
that's what I said, but only
01:58:09
said
01:58:10
a little more clearly, imagine how
01:58:13
looks like a multidimensional array Here it is
01:58:16
memory
01:58:17
here is one element 20 characters
01:58:20
second element 27
01:58:22
third element every day third
01:58:25
element 20
01:58:28
this is how language works he you tell me
01:58:32
I want to take the fifth element the fifth as it were
01:58:35
under the element of the sixth element of the second
01:58:38
element it goes everywhere index 2 here
01:58:41
The fifth element is clear here why
01:58:45
he does it quickly and easily he knows
01:58:47
the length of this array
01:58:49
How much memory does it take?
01:58:52
multiplies this by 2
01:58:56
adds to this here the value Where
01:59:00
the beginning is located, these are all structures
01:59:01
hits this point then takes 5
01:59:04
multiplies by one
01:59:08
he knows the language which element to ask
01:59:13
if you want for example the second fifth
01:59:19
he knew through simple mathematics
01:59:22
dimensions of all elements then moves
01:59:24
logical Well, as with a one-dimensional array
01:59:27
just knows the length of the element and shifts
01:59:28
in memory from memory to the desired number He is
01:59:31
he doesn't go straight from memory
01:59:33
moves calculates the value and directly
01:59:35
and takes it from there, so the arrays work
01:59:37
instantly the array can be of any length
01:59:40
addressing any element works
01:59:43
in constant time does not increase from
01:59:46
size
01:59:47
element million elements array
01:59:49
access time midpoint equals time
01:59:52
practically none these are the most
01:59:55
beautiful
01:59:57
the most beautiful in terms of speed
01:59:59
container
02:00:01
Let's imagine that we acted differently
02:00:03
that we our we allowed ourselves to keep
02:00:07
store our elements
02:00:10
our array
02:00:12
different lengths
02:00:14
how would they have written the lines back then?
02:00:16
it turns out like this, this is the line
02:00:18
Here's a line like this: there's nothing at all
02:00:21
This line makes it clear what needs to be done
02:00:24
our poor language
02:00:25
he will have to know all these lengths somewhere
02:00:29
keep
02:00:31
It’s clear why it smells and go there
02:00:34
this is no longer a two-dimensional array it is already
02:00:36
some kind
02:00:37
Hirobora to be honest with memory therefore
02:00:40
so when therefore we can't
02:00:43
allow yourself not to write anything here
02:00:47
here Yes write these lines And
02:00:50
hope that he will guess he
02:00:52
insufficiently clever language
02:00:53
you write
02:00:55
he won't choose the longest one for me
02:00:58
Seems
02:00:59
he won't choose the longest one
02:01:01
my dear father will say, come on anyway
02:01:02
You will decide what size
02:01:05
because you can write Here you can
02:01:08
write This is how it will work
02:01:12
you can have one for yourself
02:01:16
an array of some kind of Char there
02:01:21
this is the one that is initialized here
02:01:24
So
02:01:25
like this
02:01:32
So its size will be determined by itself
02:01:35
line this is definitely what we asked him
02:01:38
size of the element itself
02:01:41
here he perceives it once
02:01:45
one two three four five six and there 70
02:01:50
there is an invisible one which is interesting later
02:01:54
Let's talk about construction separately
02:01:55
important things super here are six characters
02:01:59
it will be good, but here he has a whole ambush
02:02:02
he says I'm not into this
02:02:05
are preparing but anyone can do it
02:02:08
experiment erase twenty
02:02:12
and correspondingly
02:02:16
respectively
02:02:19
so we give it a size and then it
02:02:22
thinks like And I have 20 characters
02:02:24
the lines are big and good, I'm in each of them
02:02:27
I'm writing these down
02:02:28
initialization lines as many as you like
02:02:31
from the end there are zeros or some kind of porridge for me
02:02:33
every every line is very late
02:02:35
we don’t see the zero it ends then to this
02:02:37
will come so you can have a long array of 6
02:02:39
it will be a short line at first
02:02:42
stored when processing it when printing
02:02:44
for example it will read read
02:02:46
read the symbol Nolik excellent personality
02:02:47
the end of the tail is completely ignored
02:02:49
so the main thing is that it fits in
02:02:51
to lie down so I took 20 C
02:02:54
in stock That is
02:02:58
they killed me a lot of things at once, of course this
02:03:00
two-dimensional array and all that, but I don't
02:03:02
found an easier way to get
02:03:04
such a static group of lines that
02:03:07
could be easily called
02:03:09
that is, what we what this function does
02:03:11
in fact, based on the received
02:03:13
integer outputs a reference to
02:03:16
the two-dimensional array lying outside is here
02:03:18
from here take from the sixth element with
02:03:21
protects with her head and if she
02:03:23
returns something like this
02:03:24
again return return to original
02:03:28
pose with these elements equal equal
02:03:31
size
02:03:32
Here they are of equal dimensions
02:03:37
Here they are of equal dimensions, all 20 each
02:03:40
we are not drawn at 20 now, well
02:03:42
believe me that they are not the same
02:03:45
when you give him back when he gets something
02:03:48
returns it returns pointers
02:03:50
Listen, here is the line
02:03:52
some kind is stored and there inside there
02:03:54
the words are not written Well then
02:03:59
and Nolik at the end, but here it doesn’t matter anymore
02:04:03
something
02:04:04
here it is written accordingly as fi
02:04:07
And
02:04:08
[music]
02:04:11
zero and at the end some nonsense which
02:04:14
no, that is, this is how it is stored and when
02:04:17
when this is a function pointer
02:04:19
this function returns Print which
02:04:21
gets his teeth there at the reception
02:04:25
let's remember where she is
02:04:28
who are sitting downstairs at the reception
02:04:33
we tell the programmer then you will
02:04:35
we are now using it somehow
02:04:39
here is the prints function it goes here
02:04:43
looks to print like a line that she
02:04:46
waiting here at this place in position
02:04:48
number two she is expected to be in position two
02:04:51
it contains a pointer to the beginning of the array
02:04:54
she goes to this index and reads
02:04:56
all contents of the photo the cork zero will find
02:04:58
That is, she came here, she was abandoned
02:05:01
they returned it there. That’s great, prince.
02:05:04
goes to memory location reads characters
02:05:06
they reach it, it ends, it inserts
02:05:09
output line and goes to process
02:05:12
following positional parameter which
02:05:15
It's the same here she goes she goes to
02:05:18
corresponding pole structure S3 and there
02:05:20
criticism is long 100 characters Yes
02:05:23
Well, at the beginning there is a capital letter A
02:05:25
zero is great I'm filling out the field
02:05:30
then then I write a comma then here
02:05:34
sons three excellent
02:05:39
and this is another such field Yeah, I’m coming
02:05:41
structure C3 it says there
02:05:43
Smith and H and Nolik all on zero
02:05:46
I’m finishing up. Here’s what’s next for me. Here’s
02:05:48
such a combination Yeah that means me
02:05:50
I insert the character 10 e hexadecimal
02:05:54
carriage return look for line feed
02:05:59
no 13 lines
02:06:04
This is a different story at the end of the lines
02:06:06
are marked E in short we write like that and that’s it
02:06:09
works
02:06:11
inserts and then the resulting string
02:06:13
which assembled the terminal extends
02:06:15
there is another question that no one has yet
02:06:18
asked a very interesting Why function
02:06:20
the principle of everything else accepts
02:06:22
arbitrary number of parameters
02:06:25
it is possible to write a function with
02:06:28
variable number is basically what you need
02:06:30
for print function
02:06:31
in real life it's like that
02:06:34
uncomfortable
02:06:35
rare case
02:06:37
You can talk about the years of programmers and
02:06:40
never use with variable
02:06:42
number of parameters except output format
02:06:44
who wrote for you, that is, you directly
02:06:47
there are special mechanisms there
02:06:49
section directly guided almost like
02:06:51
write how to use functions
02:06:52
variable number of kering parameters
02:06:54
now it’s written, anyone can see it
02:06:56
so this is also the moment that
02:06:58
ran on thin legs that day
02:07:00
runs variable parameter function
02:07:03
this is not style, this is a bitter necessity
02:07:05
otherwise some class of things like printing
02:07:08
will not work
02:07:11
all the advantages everything is implemented
02:07:14
slimmer and amazing
02:07:18
With the help of which it turns out
02:07:21
actually implemented there using
02:07:23
recursive operator calls
02:07:26
such people wrote
02:07:28
teach
02:07:33
there is such a party there is such a method
02:07:37
Get the appropriate library
02:07:40
arguments
02:07:42
and write yours if you want there
02:07:45
jump out
02:07:46
cool syntax allows
02:07:48
special working technique prince
02:07:51
written in an extremely non-trivial way
02:07:53
is to understand how much he has
02:07:54
parameters analyzes its call stack
02:07:57
your call frame and thinks how much do I need
02:07:59
it was yes And now I’ll go quickly
02:08:00
so difficult to sort through
02:08:03
and it looks like the play is trying
02:08:05
analyze that is realistic
02:08:06
analyzes very very on snot
02:08:08
Poor thing
02:08:10
He
02:08:14
weakly weakly analyzes the place
02:08:18
we have a variable number of parameters
02:08:20
we have no idea what type is next
02:08:23
it's good when the function has
02:08:24
predefined set of parameters
02:08:29
variable number God knows what will happen
02:08:31
following
02:08:32
therefore the function is a variable number
02:08:35
parameters it is not protected
02:08:37
therefore, when the principle writes us errors
02:08:40
to the screen
02:08:41
it's because the compiler
02:08:44
directly knows he knows with her
02:08:47
format modifiers and thinks something
02:08:49
Doesn't break If you write the function yourself
02:08:51
compilers so you can do any mess
02:08:55
lines
02:08:58
whole place floating at the end
02:09:03
there will be a body of your function to figure out what
02:09:05
Which one did they slip to blame?
02:09:08
topics topic for individual
02:09:11
You strayed just one more thing
02:09:13
which jumped out
02:09:14
And so yes
02:09:18
Our beautiful function returns
02:09:20
index this thing is in strings
02:09:22
filled start
02:09:24
arrays
02:09:26
arrays of large elements which
02:09:33
the execution elements themselves have
02:09:36
variables at the end of the video
02:09:38
Here
02:09:40
that is, of course a person can
02:09:43
imagine it is absolutely reasonable
02:09:46
two dimensional array like
02:09:49
something like square
02:09:53
one dimension the second dimension are
02:09:56
sausages Yes on which I have there
02:09:58
A certain number of pieces
02:10:01
c A certain number of pieces
02:10:04
this is one dimension Yes I am every sausage
02:10:07
some lengths
02:10:08
first second and if you need more
02:10:11
you have the third dimension
02:10:13
it's not hard to see there will be some sausages
02:10:16
will go far
02:10:21
[music]
02:10:23
and you will have some more of this thing
02:10:25
depth, that is, So you can think of it as
02:10:27
in fact, the third one is completely logical
02:10:30
measurements
02:10:31
leaving
02:10:35
This is good
02:10:38
fourth dimension 5 here analogies give
02:10:42
failure so they are all in memory of course
02:10:44
memory
02:10:45
still in a row, that is, first an array
02:10:49
the rightmost element which is 20 then
02:10:53
It is repeated so many times subsequent
02:10:55
index And if I added one more to Libya
02:10:57
There would be so many more Yandex blocks
02:11:00
drawn out in one line into memory in the mind
02:11:05
you can think of it as a sign
02:11:07
or cube
02:11:10
here in memory they lived in a row
02:11:13
this is also described somewhere there in every
02:11:16
textbook is not the most important knowledge how
02:11:17
lies in memory It is enough to know that
02:11:19
somehow it lies there and is clearly drawn and
02:11:22
you can't change uh the sizes of these
02:11:25
elements you have You have variability
02:11:29
only in the last one how much do you have the most
02:11:30
left index six some there is everything
02:11:34
rest
02:11:37
And these should be fixed
02:11:42
can't leave it desert
02:11:46
That is, I think that you can write like this
02:11:49
here I want to say
02:11:50
I guess I've never tried this myself
02:11:54
but let's start let's try I think
02:11:58
what will he eat? Just like that
02:12:08
and it even worked now Let's go back photo
02:12:11
Let's see Why Because how is he
02:12:14
determined how many elements I need
02:12:17
the initializer looked
02:12:20
he found six of them there and created
02:12:24
but the size of each of them is father You already
02:12:28
ask
02:12:29
It's clear
02:12:31
otherwise he will not be able to create this structure
02:12:33
memory
02:12:35
he needs to know how much is in each element
02:12:37
How will he determine the length?
02:12:40
There should be only one Highlander left
02:12:43
long But this is the brain of the brain we are the compiler
02:12:46
we ask for too much and count them
02:12:48
the quantity is quite affordable
02:12:50
[music]
02:12:53
Yes, but this is thin, this is this, this is this
02:12:56
interview question Come there
02:12:58
such a grandfather who is older than me
02:13:00
started on a spotty guy who has excellent strength
02:13:03
sm4 masha I picked up These are his ones
02:13:07
clearing his throat from Belomor questions what
02:13:09
the index can be omitted from the definition
02:13:11
multidimensional left or right if it
02:13:13
put it in three dimensions and the middle one can
02:13:16
but I'm sorry, I was an [ __ ], thank God for that
02:13:20
there is no interview if
02:13:22
meet then with brilliance say left and
02:13:25
now I'll explain why
02:13:36
That's the theory question
02:13:45
in practice, a lot is written as if
02:13:48
you write until it has compiled then and
02:13:50
normally something is gained from this
02:13:52
experience can then be summarized theoretically
02:13:54
the base is not very good, I saw a lot of people
02:13:56
who failed the material base about
02:13:57
something
02:13:58
no matter how hard I tried it compiled
02:14:01
I can guess this one one step at a time
02:14:07
don't leave much longer okay
02:14:10
because we wrote to every damn thing I
02:14:13
I'll probably copy this one here
02:14:15
awesome code and straight into the channel
02:14:17
launched that's a mistake she wrote
02:14:21
non-trivial interesting I started on
02:14:24
I created something in GitHub
02:14:26
the catalog is called no smarter where possible
02:14:29
folded normally but also came
02:14:31
moment when you just take it from a lecture
02:14:39
if there are no questions we will finish today
02:14:42
there's another one
02:14:58
all alone Lonely Just like a finger
02:15:01
no Thank you dear friends today it was
02:15:05
very cool interesting goodbye
02:15:18
Goodbye

Description:

В этот раз мы рассмотрели типы данных, определяемые пользователем. Видели простые типы, структуры и перечисления. Посмотрели, как формируются крайне сложные иерархии типов, и как обращаются к элементам таких сложных типов (кое-что еще не видели, впрочем). Промелькнул призрак объектно-ориентированного программирования. Вскользь рассмотрели многомерные массивы. Начали работать со строками (пока только тронули их). Начали применять выученные кусочки, чтобы склеивался какой-то толковый код: вот самодельные типы, вот самодельные функции, вот тернарный оператор пробежал, вот конструкция select...case пригодилась. Все это можно найти, если захочется разобраться основательно, в книге Кернигана и Ритчи «Язык программирования Си», которая вообще полезна, хорошо написана и достаточно компактна.

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "2022-08-23 • Персонализация типов данных" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "2022-08-23 • Персонализация типов данных" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "2022-08-23 • Персонализация типов данных" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "2022-08-23 • Персонализация типов данных" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "2022-08-23 • Персонализация типов данных"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "2022-08-23 • Персонализация типов данных"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.