Hoy en día la gente programa en un framework que está escrito sobre un lenguaje por ejemplo Laravel está escrito en PHP, a su vez PHP está escrito en C, y C está escrito en C. Cuando aprendés ASM entendés por qué existe C, cuando aprendés C entendés por qué existe C++, cuando aprendés C++ entendés por qué existe Python. Y también programan sobre un framework de Javascript como Vue.JS o Angular o una librería como ReactJS, que a su vez Javascript está escrito en C, hay toda una complejidad que se están salteando, tenés que entender el bajo nivel para saber por se llegó a hacer esa solución.
Le pointers and le C
#include <stdio.h>
#include <string.h>
int main()
{
int a;
char buffer[20];
char buffer2[10];
printf("Ingresá tu nombre: ");
scanf("%s",buffer); // Por qué acá buffer es un puntero? Si sabés ASM al toque te darás cuenta cuando generás el código asm con gcc -S
printf("Ingresá un número: ");
scanf("%d",&a);
printf("El valor de buffer2 es: %s\n",buffer2);
return 0;
}
Para ingresar una entrada de datos tenés que escribir "%s"
para demostrar que querés ingresar una cadena. En cambio en C++ miremos un ejemplo en C++:
#include <iostream>
using namespace std;
int main()
{
int a;
cout << "Ingresá un número" << endl;
cin >> a;
cout << "La variable a vale: " << a;
}
Acá ni siquiera tenés que pasarle el puntero.