Solution for Exercise 20-7
ex2007
#include <stdio.h> #include <stdlib.h> int main() { unsigned char *junk; int x; /* allocate memory */ junk = (unsigned char *)calloc(64,sizeof(char)); if( junk==NULL ) { puts("Unable to allocate memory"); exit(1); } /* output the buffer */ for(x=0;x<64;x++) { printf("%02X ",*(junk+x)); if( (x+1) % 8 == 0 ) putchar('\n'); } return(0); }
Output
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Notes
* Unlike Exercise 20-6, the output for this code is always all zeros.
* I added a typecast to the calloc() function. As the junk
pointer is an unsigned char, calloc() is typecast from void to an unsigned char pointer.
Copyright © 1997-2024 by QPBC.
All rights reserved