Introdução aos tipos de dados em C
C é uma linguagem de programação de computador compacta e de uso geral, desenvolvida por Dennis Ritchie para o sistema operacional Unix nos laboratórios bell. C é uma linguagem de programação estruturada que é independente da máquina. C tem sido usado por muitas organizações para o desenvolvimento de sistemas operacionais, intérpretes, drivers de dispositivo, também o banco de dados oracle é escrito em C e, na era moderna, os projetos de sistemas embarcados e o desenvolvimento da IoT também usam a linguagem C. C é uma linguagem compilada na qual o compilador assume a responsabilidade de converter o código-fonte em código de objeto legível por máquina. Existem vários compiladores disponíveis, como - TurboC, Clang, etc.
Tipos de dados em C
- Sempre que uma variável é definida em C, ela deve ser associada a um determinado tipo de dados.
- Isso fornece uma indicação sobre a quantidade de memória a ser alocada para essa variável e cada variável manterá seu próprio local de memória exclusivo, exceto em alguns casos em que as variáveis apontam apenas para o mesmo local de memória
- C categorizou os tipos de dados em:
- uma. Tipos de dados primários
- b. Tipos de dados derivados
uma. Os tipos de dados primários também são chamados de tipos de dados primitivos e incluem o seguinte:
- Int
- Flutuador
- Caracteres
- Vazio
b. Os tipos de dados derivados podem estar entre os seguintes:
- Matriz
- Estrutura
- União
- Ponteiro
Vamos agora descrever todos eles com exemplos
1. O tipo de dados inteiro (int): se você precisar armazenar os números inteiros, o int pode ser usado como um tipo de dados, ele pode ter um intervalo de números com base no tamanho escolhido na memória e pode ter todos os valores positivos ou negativos. de negativo a positivo, com base na escolha do usuário pelo design do código.
Tipo Int | Tamanho (em bytes) | Intervalo permitido |
int ou int assinado | 2 | -32.768 a 32767 |
unsigned int | 2 | 0 a 65535 |
int curto ou int curto assinado | 1 1 | -128 a 127 |
int curto não assinado | 1 1 | 0 a 255 |
long int ou long assinado | 4 | -2.147.483.648 a 2.147.483.647 |
int longo assinado | 4 | 0 a 4.294.967.295 |
Por exemplo
#include
void main()
(
int a = 1;
printf(" %d is the integer value ", a);
unsigned short int x = -3278989;
printf(" %hu is the integer value ", x);
)
Resultado:
2. Tipo de dados flutuantes: qualquer número real pode ser armazenado no tipo de dados flutuantes e aqui também podemos especificar o intervalo, com base na seleção do tipo e tamanho dos dados, um intervalo de números é permitido.
Tipo de flutuador | Tamanho (em bytes) | Gama de flutuador |
Flutuador | 4 | 3.4E-38 a 3.4E + 38 |
Duplo | 8 | 1, 7E-308 a 1, 7E + 308 |
longo duplo | 10 | 3.4E-4932 a 1.1E + 4932 |
Por exemplo
#include
#include
#include
void main() (
printf("max float value allowed in positive range : %g\n", (float) FLT_MAX);
printf("max float value allowed in negative range : %g\n", (float) -FLT_MAX);
printf("max double value possible in positive range : %g\n", (double) DBL_MAX);
printf("max double value possible in negative range : %g\n", (double) -DBL_MAX);
)
Resultado :
3. Tipo de caractere: representa o tipo de dados do caractere e pode ser assinado ou não assinado com um tamanho constante de 1 byte nos dois casos.
Tipo de caractere | Tamanho (em bytes) | Gama de caracteres |
char ou char assinado | 1 1 | -128 a 127 |
caracter não identifcado | 1 1 | 0 a 255 |
Por exemplo
#include
void main() (
char c ='a';
char f = 65; // represents ASCII char value, refer to ASCII table
printf("%c %c ", c, f);
)
Resultado:
4. Tipo de void : se você não deseja atribuir nenhum tipo a uma função (ou seja, ela não retornará nada como você viu a função principal prefixada com o tipo de void nos trechos acima), você pode marcá-la como tipo de void.
Os trechos acima podem ser referidos como exemplos para o mesmo.
5. Matrizes: quando qualquer conjunto homogêneo de dados deve ser armazenado em locais de memória contíguos, esse tipo de dados é escolhido; o caso de uso é que, pode haver momentos em que seu código retorne mais de um resultado e que deva ser retornado de funciona cumulativamente, como se tivéssemos que encontrar a lista de todos os meses em um ano, eles teriam 12 anos; portanto, não podemos colocar 12 meses discretamente em uma única variável; portanto, usamos matrizes para o mesmo.
Vamos ver um trecho simples para entender a declaração e o uso de matrizes.
Por exemplo
#include
void main() (
int i;
char arr() = ('a', 'b', 'c');
for(i = 0 ; i < 3 ; i++)
(
printf("%c\n", arr(i));
)
)
Resultado:
6. Estruturas: Se houver um requisito, em que você precise representar qualquer estrutura do mundo físico no mundo da codificação, esse tipo poderá ser útil, pois a turma dos alunos pode ser definida como uma estrutura e as notas e o número do rolo do aluno podem ser usados como variáveis dentro dele, pode ser introduzida uma matriz que pode conter dados relacionados a essa estrutura para muitos alunos.
Por exemplo
#include struct class(
int marks;
int rollNo;);
void main() (
struct class c;
c.marks=10;
c.rollNo=1;
printf("%d\n", c.marks);
printf("%d", c.rollNo);
)#include struct class(
int marks;
int rollNo;);
void main() (
struct class c;
c.marks=10;
c.rollNo=1;
printf("%d\n", c.marks);
printf("%d", c.rollNo);
)
Resultado:
7. Ponteiro: Esse é um dos tipos de dados mais importantes, pois não estamos no mundo dos OOPs na linguagem C, linguagens como java não o usam, mas as linguagens de programação funcional sempre o usam. O conceito de ponteiros é alocar a memória para alguma variável e, em seguida, consultar esse local da memória para operações de leitura e gravação; esse local da memória pode ser o endereço de uma função, pode ser o endereço de uma variável etc. Os ponteiros são necessários para Manipulação de matriz e estrutura em linguagem C e também fornece gerenciamento dinâmico de memória.
Por exemplo
#include
void main() (
int a, *p; // variable and pointer declaration
a = 10;
p = &a;
printf("%d", *p); // print the value of 'a'
printf("%u", &a); //print the address of 'a'
printf("%u", p); // print the address of 'a' in different way
// remember & represents address of variable
)
Resultado:
Conclusão
Portanto, vimos vários tipos de dados em C e como eles funcionam junto com a linguagem C para lidar com cenários de codificação. Você também pode fazer programação incorporada com C, pois também foram desenvolvidos utilitários para o mesmo. Portanto, C é uma linguagem versátil, mas com cenários do mundo real, a codificação se torna complexa e mais envolvida.
Artigo recomendado
Este é um guia para o tipo de dados em C. Aqui discutimos tipos de tipos e descrições de dados, com exemplos e códigos. Você também pode consultar nossos outros artigos sugeridos para saber mais -
- Tipos de dados no MATLAB
- Melhores ferramentas de visualização de dados
- Introdução à Ciência de Dados
- Modelos de dados no DBMS
- Tipos de dados Python
- Tipos de dados PL / SQL
- Guia para diferentes tipos de dados C #
- Diferentes tipos de dados SQL com exemplos
- Tipos de dados PHP | Tipos de dados do PHP com exemplos