Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador Ponteiros. Mostrar todas as postagens
Mostrando postagens com marcador Ponteiros. Mostrar todas as postagens

Apostila de C - Ponteiros, Vetores, Matrizes e Strings (Listas 4 e 5)

Neste tutorial de nossa Apostila C Progressivo, iremos exibir as questões da apostila de C da UFMG sobre os assuntos de Ponteiros, Vetores, Matrizes e Strings, e em seguida iremos comentar cada uma das questões, códigos e dar o gabarito correto dos exercícios.

Como fazer uma lista em C - Implementação completa (inserindo e retirando nós de qualquer posição)

Dando continuidade em nossa seção sobre estrutura dinâmica de dados e ao tutorial passado sobre Listas simplesmente encadeadas, onde criamos e ensinamos a colocar nós ao fim e no início da lista, e depois como retirar nós do início e do fim de uma lista, vamos agora mostrar como colocar elementos em qualquer ponto da lista, bem como tirar nós do início, do fim e de qualquer lugar da lista.

Como programar uma lista completa em C
Listas em C

A função malloc - Como alocar memória na linguagem C

No tutorial passado de nossa apostila de C, vimos a importância da alocação dinâmica da memória, técnica contrária a que vínhamos fazendo, que era declarando tudo estaticamente.

Vamos agora ensinar como usar a função malloc(), uma das três funções (malloc, calloc e realloc) que o C possui para tratar a alocação de memória, além de vermos, finalmente, na prática, uma grande utilidade dos ponteiros em C.

É uma importante lição que será extensivamente usada em nossas lições sobre listas encadeadas, filas e pilhas.

Passando structs por referência para funções - O operador ->

Antes de mais nada, vamos deixar bem claro que, à rigor, não existe passagem por referência em linguagem C.
Mas por que vemos tanto falarem sobre isso, se não existe?

Na verdade, o que existe é uma espécie de 'truque', que é passar o endereço de memória, através de ponteiros, para funções, simulando uma passagem por referência.

Então não há problema em falar de passagem por referência em C, apenas use seu bom senso.

A biblioteca string.h e suas funções

Trabalhar com strings, em C, não é nada óbvio, precisamos treinar bastante até ter total controle dos caracteres de nosso texto.

Essa dificuldade se torna ainda maior se você já tiver estudado outra linguagem de programação, como Java, Perl ou Python, onde a manipulação de texto é extremamente óbvia e simples.
Mas essa simplicidade toda não vem de graça, requer custos: processamento e memória de um computador.

Vamos agora, em nossa apostila de C, apresentar as principais funções para manipulação de strings, como usá-las e melhor: como criá-las! Sim, vamos criar funções de manipulação de strings para você saber como tudo funciona em C e como exercícios.

Operações Matemáticas com Ponteiros em C

Agora que ensinamos como fazer os ponteiros apontarem para variáveis, bem como ver e alterar o valor de variáveis através dos ponteiros, neste tutorial de nossa apostila de C, vamos dar mais exemplos reais de uso dos ponteiros, com operações de incremento, decremento, comparação de igualdade e negação.

A função sizeof() e os blocos vizinhos de memória

No artigo introdutório desta seção sobre ponteiros nossa apostila de C, demos uma ideia sobre o que são ponteiros em C, além de falarmos sobre os endereços de memória.

Agora, nesse artigo, vamos entrar mais a fundo no estudo da memória e ver, de fato, onde as variáveis estão sendo declaradas e um importante relação entre ponteiros e variáveis que ocupam vários bytes. 

Introdução ao uso dos ponteiros - Endereços de memória

Desde o início de nosso curso de C, usamos os mais diversos tipos de dados, como int para números inteiros, float e double para números decimais, char para caracteres etc.

Vamos agora apresentar um novo tipo dado: os ponteiros.