#include <stdio.h>
#include <stdint.h>
#include "pico/stdlib.h"
// Função para calcular o comprimento usando apenas aritmética de ponteiros
uint8_t calcular_comprimento(uint8_t *p_str) {
uint8_t *p_inicio = p_str; // Guarda o endereço inicial da string
// Percorre a memória até encontrar o terminador nulo '\0'
while (*p_str != '\0') {
p_str++; // Aritmética de ponteiros: avança 1 byte por vez
}
// Retorna a diferença entre o endereço final e o inicial
return (uint8_t)(p_str - p_inicio);
}
void main(void) {
// Inicializa o sistema de entrada e saída
stdio_init_all();
// Declaração da string e da variável de tamanho usando uint8_t
uint8_t vetor[] = "string";
uint8_t tamanho = 0;
// Chamada da função passando o ponteiro do vetor
tamanho = calcular_comprimento(vetor);
// Impressão do resultado
printf("Qtde de caracteres de vetor e: %d\n", tamanho);
}