mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-26 14:24:05 -06:00
1.1 KiB
1.1 KiB
| title | aliases | tags | |
|---|---|---|---|
| 10-intro-to-c-arrays-malloc-free |
|
Arrays
- must declare with size
uint32_t array[10];
float matrix[5][6];
double balance[5] = {1000.0, 2.0, 3.4} //last two elementes will be initalised to zero
double balance[] = {1000.0, 2.0, 3.4} //size is calculated automatically
- do not have methods
- array.size etc
- not bounds checked
- can write past the end
- to know must keep trach yourself or use sentinel value
- 'H' 'e' 'l' 'l' 'o' '\0' <- sentinel value
//find the length of an array
size_t strlen(const char *of){
char *check = of;
while(*check != '\0')
check++;
return check - of;
}
quoted strings
- "Hello World"
- must be const - not allowed to change them
const char *hello_world = "hello world"
- can use then in place of char arrays
Memory
when we decalre an array we are saying "choose somewhere in memory to put this number of that and call it thing"
that thing[this];
uint_t byte_array[1024];
- compiler chooses somewhere in memory
- the name of the array maps to the location