Struct
Lý thuyết (chưa hoàn thiện)
Câu hỏi: Trường hợp nào dùng .
or ->
cho hợp lí ?
- Dấu
.
khi dùng struct trực tiếp để lấy phần tử. - Dấu
->
khi con trỏ trỏ tới struct, và lấy các phần tử của struct đó.
Câu hỏi: Địa chỉ của struct có giống với địa chỉ của phần tử đầu tiên của struct đó không ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// test.c
#include <stdio.h>
#include <stdint.h>
struct SRAM {
uint8_t stack;
uint8_t heap;
uint8_t _data;
uint8_t _bss;
};
int main() {
struct SRAM SRAM_A;
struct SRAM *pSRAM = &SRAM_A; // Pointer to SRAM
printf("Address of SRAM_A: %p\n", (void*)pSRAM);
printf("Address of first element (stack) in SRAM_A: %p\n", (void*)&(SRAM_A.stack));
return 0;
}
OUTPUT:
1
2
Address of SRAM_A: 0x7ffe8d3c7fec
Address of first element (stack) in SRAM_A: 0x7ffe8d3c7fec
Nhìn vào kết quả trên, ta có kết luận là CÓ.
This post is licensed under CC BY 4.0 by the author.