Tidak.
Terminator string adalah byte yang berisi semua 0 bit.
Int unsigned adalah dua atau empat byte (tergantung pada lingkungan Anda) masing-masing berisi semua 0 bit.
Dua item disimpan di alamat yang berbeda. Kode yang dikompilasi Anda melakukan operasi yang cocok untuk string di lokasi sebelumnya, dan operasi yang cocok untuk nomor biner yang tidak ditandatangani di yang terakhir. (Kecuali jika Anda memiliki bug dalam kode Anda, atau kode pintar yang berbahaya!)
Tetapi semua byte ini terlihat sama dengan CPU. Data dalam memori (dalam arsitektur set instruksi yang paling umum) tidak memiliki tipe apa pun yang terkait dengannya. Itu adalah abstraksi yang hanya ada dalam kode sumber dan berarti sesuatu hanya untuk kompiler.
Sunting-ditambahkan: Sebagai contoh: Sangat mungkin, bahkan umum, untuk melakukan aritmatika pada byte yang membentuk string. Jika Anda memiliki string karakter ASCII 8-bit, Anda dapat mengubah huruf dalam string antara huruf besar dan kecil dengan menambahkan atau mengurangi 32 (desimal). Atau jika Anda menerjemahkan ke kode karakter lain, Anda dapat menggunakan nilainya sebagai indeks ke dalam array yang unsur-unsurnya menyediakan bit coding yang setara dalam kode lainnya.
Untuk CPU karakternya adalah integer ekstra pendek. (masing-masing delapan bit, bukan 16, 32, atau 64.) Bagi kami manusia, nilainya dikaitkan dengan karakter yang dapat dibaca, tetapi CPU tidak tahu akan hal itu. Ia juga tidak tahu apa-apa tentang konvensi "C" dari "null byte mengakhiri sebuah string", baik (dan seperti yang banyak dicatat dalam jawaban dan komentar lain, ada lingkungan pemrograman di mana konvensi itu tidak digunakan sama sekali) .
Yang pasti, ada beberapa instruksi dalam x86 / x64 yang cenderung banyak digunakan dengan string - awalan REP, misalnya - tetapi Anda bisa menggunakannya pada array bilangan bulat, jika mereka mencapai hasil yang diinginkan.