Ho usato C per un bel po 'di tempo, e ho questo banale problema che voglio interrogare.È incluso il carattere nullo durante l'allocazione utilizzando malloc
Dire che voglio creare un array di caratteri che memorizza fino a 1000 caratteri. Ora, quando sto usando malloc per lo stesso, allora devo specificare la dimensione dell'array come 1001 caratteri [1000 caratteri + null] o solo 1000?
Inoltre, dire che mi sono imbattuto in questo problema, quindi come ho potuto trovare la risposta a questa soluzione da solo, magari utilizzando alcuni programmi di test. Capisco che la dimensione della stringa sia calcolata senza il carattere null, ma quando sto allocando la memoria per lo stesso, prendo in considerazione anche il carattere null?
Devi ancora considerare che il terminatore null ha bisogno di un byte extra, quindi se la tua stringa deve essere lunga un migliaio di caratteri, usare 'calloc()' non cambia il fatto che hai bisogno di mille e un byte per memorizzare la stringa. –