autoadalah kata kunci C lama yang berarti "ruang lingkup lokal". auto asama dengan auto int a, dan karena cakupan lokal adalah default untuk variabel yang dideklarasikan di dalam suatu fungsi, itu juga sama seperti int adalam contoh ini.
Kata kunci ini sebenarnya adalah sisa dari pendahulu C, di mana tidak ada tipe dasar: semuanya int, penunjuk int, array int. (*) Deklarasi akan berupa autoatau extrn[sic]. C mewarisi "semuanya int" sebagai aturan default, jadi Anda bisa mendeklarasikan bilangan bulat dengan
auto a;
extern b;
static c;
ISO C menyingkirkan ini, tetapi banyak kompiler masih menerimanya untuk kompatibilitas mundur. Jika tampaknya tidak dikenal, maka Anda harus menyadari bahwa aturan terkait sedang bekerja di
unsigned d; // actually unsigned int
yang masih umum dalam kode modern.
C ++ 11 menggunakan kembali kata kunci, yang hanya sedikit jika ada programmer C ++ yang menggunakan makna aslinya, untuk inferensi tipenya. Ini sebagian besar aman karena aturan "semuanya int" dari C sudah dijatuhkan di C ++ 98; satu-satunya hal yang rusak adalah auto T a, yang tidak ada yang menggunakan pula. (Di suatu tempat di makalahnya tentang sejarah bahasa , Stroustrup berkomentar tentang ini, tapi saya tidak dapat menemukan referensi yang tepat sekarang.)
(*) Penanganan string dalam B menarik: Anda akan menggunakan array intdan mengemas beberapa karakter di setiap anggota. B sebenarnya BCPL dengan sintaks yang berbeda.
inttelah dihapus dari standar C pada tahun 1999.