Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Apostila de C
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
PET Computação
Apostila de C
Commits
9eb11b0f
Commit
9eb11b0f
authored
Aug 02, 2015
by
Vytor Calixto
👾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Correção na referência cruzada
Related:
#36
parent
5ce2ef4a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
8 deletions
+12
-8
alocacao_dinamica.tex
alocacao_dinamica.tex
+2
-0
arquivos.tex
arquivos.tex
+10
-8
No files found.
alocacao_dinamica.tex
View file @
9eb11b0f
...
...
@@ -3,6 +3,7 @@
\begin{document}
\chapter
{
Alocação dinâmica de memória
}
\label
{
cap:alocdin
}
Toda e qualquer informação que um programa utiliza está localizada na memória. Mas para que um
programa possa utilizar uma área de memória para armazenar informação, é necessário que tal área seja
previamente alocada, ou seja, é necessário requisitar ao sistema operacional que reserve uma área de
...
...
@@ -64,6 +65,7 @@ reserva a área requisitada (se possível) e devolve para o programa o endereço
de memória alocada. No programa, esse endereço pode ser armazenado em um ponteiro.
\section
{
sizeof
}
\label
{
sec:sizeof
}
Antes de apresentar as funções de manipulação de memória dinâmica, é importante descrever o operador
sizeof.
...
...
arquivos.tex
View file @
9eb11b0f
\documentclass
[apostila.tex]
{
subfiles
}
\usepackage
{
zref
}
\zexternaldocument
{
alocacao
_
dinamica
}
\begin{document}
\chapter
{
Arquivos
}
Como não podia deixar de ser, a linguagem C possui uma série de funções que permitem
Como não podia deixar de ser, a linguagem C possui uma série de funções que permitem
que o programador possa manipular arquivos, seja para criá-los, ler ou escrever neles.
As funções descritas nesse capítulo utilizam ponteiros do tipo FILE* para manipular arquivos, seja
...
...
@@ -39,7 +41,7 @@ stdio.h.
\hline
fwrite()
&
Escreve um bloco de dados em um arquivo
\\
\hline
rewind()
&
Reposiciona o ponteiro de arquivo no começo do arquivo
\\
\hline
remove()
&
Apaga o arquivo
\\
\hline
\hline
\end{tabular}
\caption
{
Funções mais usadas
}
\label
{
tab:mais
_
usada
}
\end{table}
...
...
@@ -85,7 +87,7 @@ arquivo. O segundo é uma string de formatos, listados na tabela \ref{tab:modo_a
\hline
"r+t"
&
Abre um arquivo texto para leitura/escrita
\\
\hline
"w+t"
&
Cria um arquivo texto para leitura/escrita
\\
\hline
"a+t"
&
Acrescenta dados ou cria um arquivo texto para leitura/escrita
\\
\hline
\hline
\end{tabular}
\caption
{
Modos de acesso a arquivo
}
\label
{
tab:modo
_
acesso
}
\end{table}
...
...
@@ -97,7 +99,7 @@ Exemplo:
FILE *fp; // fp e um ponteiro para arquivo
if ((fp=fopen("teste.txt", "w")) == NULL)
{
// se não conseguiu criar arquivo ...
// se não conseguiu criar arquivo ...
puts ("Nao posso criar o arquivo!"n");
exit(1);
}
...
...
@@ -281,7 +283,7 @@ Observe que para obter uma referência para uma determinada operação, pode ser
O parâmetro num bytes é o tamanho, em bytes, do dado passado como parâmetro para leitura em
buf.
Como já foi visto na seção
??, p.??
, o operador sizeof é ideal para obtenção do tamanho de um dado.
Como já foi visto na seção
\ref
{
sec:sizeof
}
, o operador sizeof é ideal para obtenção do tamanho de um dado.
O parâmetro count indica quantos dados do tamanho num bytes deverão ser lidos para a memória,
ou seja, count é ideal para a leitura de vetores a partir de uma arquivo.
...
...
@@ -373,7 +375,7 @@ Observe que, através da função fseek, é possível posicionar a leitura/escri
\hline
Começo do arquivo
&
SEEK
\_
SET
&
0
\\
\hline
Posição corrente
&
SEEK
\_
CUR
&
1
\\
\hline
Fim do arquivo
&
SEEK
\_
END
&
2
\\
\hline
\hline
\end{tabular}
\caption
{
Constantes de posição
}
\label
{
tab:const
_
posi
}
\end{table}
...
...
@@ -382,7 +384,7 @@ Se a função fseek retornar zero, indica que houve sucesso na chamada à funç
diferente de zero indica uma falha.
\begin{lstlisting}
// ...
// ...
FILE *fp;
char ch;
...
...
@@ -430,7 +432,7 @@ Por final, o programa deve requisitar que seja digitado o valor da soma\_correta
Depois de terminada a entrada de dados, o programa deverá armazenar a estrutura em um arquivo
chamado ``questoes.dat'' e perguntará ao usuário se deseja gravar mais questões.
2. Escreva um programa que vai ler o arquivo ``questoes.dat'' criado pelo programa do exercício anterior,
2. Escreva um programa que vai ler o arquivo ``questoes.dat'' criado pelo programa do exercício anterior,
e simplesmente irá imprimir o enunciado da questão, o texto das opções com seus respectivos
números e o valor da resposta.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment