//
============================================================================ // Name : HelloWorld.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> #include <stdio.h>/* printf, scanf, NULL */ #include <string.h> /* malloc example: random string generator*/ #include <stdlib.h> /* malloc, free, rand */ using namespace std; int main() { cout << "ffffssss!Hello World!!!" << endl; // prints !!!Hello World!!! printf("open success\n"); //malloc study int i, n; char * buffer; printf("How long do you want the string? "); scanf("%d", &i); buffer = (char*) malloc(i + 1); if (buffer == NULL) exit(1); for (n = 0; n < i; n++) buffer[n] = rand() % 26 + 'a'; buffer[i] = '\0'; printf("Random string: %s\n", buffer); free(buffer); //calloc study int i1, m; int * pData; printf("Amount of numbers to be entered: "); scanf("%d", &i1); pData = (int*) calloc(i1, sizeof(int)); if (pData == NULL) exit(1); for (m = 0; m < i1; m++) { printf("Enter number #%d: ", m + 1); scanf("%d", &pData[m]); } printf("You have entered: "); for (m = 0; m < i1; m++) printf("%d ", pData[m]); free(pData); //realloc int input, n; int count = 0; int* numbers = NULL; int* more_numbers = NULL; do { printf("Enter an integer value (0 to end): "); scanf("%d", &input); count++; more_numbers = (int*) realloc(numbers, count * sizeof(int)); if (more_numbers != NULL) { numbers = more_numbers; numbers[count - 1] = input; } else { free(numbers); puts("Error (re)allocating memory"); exit(1); } } while (input != 0); printf("Numbers entered: "); for (n = 0; n < count; n++) printf("%d ", numbers[n]); free(numbers); //memset //set int type int a[5]; int num = 5 * sizeof(int); cout << num << "is num" << "\n"; // memset(a,1,5*sizeof(int)); //memset(a,1,num); memset(a, 1, 20); for (int i = 0; i < 5; i++) cout << a[i] << ""; //set char type char str[] = "almost every programmer should know memset!"; memset(str, '-', 6); puts(str); return 0; }

malloc,calloc,realloc,memset学习

posted on 2014-02-10 16:46  snowdrop  阅读(233)  评论(0编辑  收藏  举报