MENU

Fun & Interesting

Hello World Como Você Nunca Viu! | Entendendo C

Fabio Akita 275,116 4 years ago
Video Not Working? Fix It Now

Se você nunca viu C ou como um programa funciona de verdade no baixo nível, hoje é sua chance de ver todo o básico de uma só vez! Vou desde tipos primitivos, strings, arrays, stacks, heap, alocação de memória, structs, até minimamente entender o que está por baixo do que você chama de linguagem "orientada a objetos". ERRATAS - em 00:06:50 falei errado o range de INT, o certo é de -128 a 127 - em 00:06:06 eu falei certo e deixei a correção escrita errada. 64 bits, se você não precisar, desperdiça 7 bytes - em 00:40:54 eu falei que 255 bytes é 1/4 de 1 megabyte, mas é de 1 KILObyte. - em 00:38:40 eu não sei como deixei passar, mas quando falo de passar o string pras funções `f1`, `f2` não está duplicando toda a string e sim a referência pra ela. Se fossem valores primitivos como `int` sim, mas array só o endereço duplica mesmo. - em 00:57:55 quando dei copy e paste pro createPerson, eu esqueci de usar os argumentos pra fazer `person.age = age` por exemplo e ficou hardcoded. Viram?? Por isso copy e paste é perigoso, especialmente meia noite depois de estar cansado de passar 3 dias editando kkkkk` - 00:45:20 64-bits são 8 bytes, toda hora na minha cabeça fica "4 bytes", mas são 8 CONTEÚDO: 00:00:00 Intro 00:02:06 Strings 00:04:37 Inteiros 00:06:54 Two's Complement 00:09:22 BigInteger 00:10:45 Pré-Float 00:13:47 Floats 00:17:27 0.1 + 0.2 != 0.3? 00:20:37 BigDecimal 00:22:17 Arrays 00:27:48 1o Hello World 00:28:37 Endereços e Referências 00:36:02 Contador de Programas e Pilha 00:41:03 Recursão 00:42:54 Ponteiros! 00:45:29 2o Hello World (com ponteiros) 00:48:52 Structs 00:49:47 3o Hello World (com struct) 00:52:25 Referências a Funções 00:55:26 4o Hello World (com callbacks) 00:59:57 5o Hello World (pseudo objetos) 01:05:05 Conclusão LINKS: * Integer (Wikipedia) (https://en.wikipedia.org/wiki/Integer_(computer_science)) * Two’s Complement (Wikipedia) (https://en.wikipedia.org/wiki/Two%27s_complement) * How numbers are encoded in JavaScript (https://2ality.com/2012/04/number-encoding.html#:~:text=JavaScript%20numbers%20are%20all%20floating,binary%20format%2C%20in%2064%20bits.) * FLOATING POINT VISUALLY EXPLAINED (https://fabiensanglard.net/floating_point_visually_explained/) * What Every Computer Scientist Should Know About Floating-Point Arithmetic (What Every Computer Scientist Should Know About Floating-Point Arithmetic (oracle.com)) * IEEE-754 Floating Point Converter (IEEE-754 Floating Point Converter (h-schmidt.net)) * Number.MAX_SAFE_INTEGER (Number.MAX_SAFE_INTEGER - JavaScript | MDN (mozilla.org)) * Signed Binary/Decimal Conversion Using the Two's Complement Representation (Signed Binary/Decimal Conversion (ubc.ca)) * C - Pointer arithmetic (C - Pointer arithmetic - Tutorialspoint) * Why Discord is switching from Go to Rust (https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f) Me siga nas redes sociais: * Twitter (https://twitter.com/akitaonrails) * Instagram (https://instagram.com/akitaonrails) * Facebook (https://facebook.com/akitaonrails) * Podcasts (https://anchor.fm/akitando) Transcript: https://www.akitaonrails.com/2021/03/06/akitando-93-hello-world-como-voce-nunca-viu-entendendo-c Podcast: https://anchor.fm/akitando/episodes/Akitando-93---Hello-World-Como-Voc-Nunca-Viu---Entendendo-C-erorcv

Comment