Kata autokunci tidak berguna dalam bahasa C. Itu karena sebelum bahasa C ada bahasa B di mana kata kunci itu diperlukan untuk mendeklarasikan variabel lokal. (B dikembangkan menjadi NB, yang menjadi C).
Berikut adalah panduan referensi untuk B .
Seperti yang Anda lihat, manual ini penuh dengan contoh-contoh yang autodigunakan. Ini karena tidak ada intkata kunci. Beberapa jenis kata kunci diperlukan untuk mengatakan "ini adalah deklarasi variabel", dan kata kunci itu juga menunjukkan apakah itu lokal atau eksternal ( autoversus extrn). Jika Anda tidak menggunakan salah satu atau lainnya, Anda mengalami kesalahan sintaks. Artinya, x, y;bukan deklarasi itu sendiri, tetapi auto x, y;adalah.
Karena basis kode yang ditulis dalam B harus di-porting ke NB dan ke C seiring perkembangan bahasa, versi bahasa yang lebih baru membawa beberapa bagasi untuk meningkatkan kompatibilitas ke belakang yang diterjemahkan ke lebih sedikit pekerjaan. Dalam kasus ini auto, programmer tidak perlu mencari setiap kejadianauto dan menghapusnya.
Jelas dari manual bahwa cruft "implisit int" yang sekarang usang di C (dapat menulis main() { ... }tanpa terlebih dahulu int) juga berasal dari B. Itu adalah fitur kompatibilitas mundur lainnya untuk mendukung kode B. Fungsi tidak memiliki tipe kembalian yang ditentukan di B karena tidak ada tipe. Semuanya adalah kata, seperti di banyak bahasa assembly.
Perhatikan bagaimana sebuah fungsi dapat dideklarasikan extrn putchardan kemudian satu-satunya hal yang membuatnya menjadi fungsi yang digunakan oleh pengenal : ia digunakan dalam ekspresi panggilan fungsi seperti putchar(x), dan itulah yang memberi tahu compiler untuk memperlakukan kata tanpa tipe itu sebagai penunjuk fungsi.
autodapat ditentukan tetapi tidak akan terjadi secara default?