//
// main.c
// 内存使用
//
// Created by zhangxueming on 15/6/8.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <
string.h>
//内存操作函数
//1.申请内存
//2.判断内存是否申请成功
//3.对申请到的内存初始化(可选)
//4.使用内存
//5.释放内存
//6.将指向该内存的指针赋值为NULL
//int main(int argc, const char * argv[]) {
// char *pstr = (char *)malloc(100*sizeof(char));
// if (!pstr) {
// return -1;
// }
// memset(pstr, 0, 100);
// scanf("%s", pstr);
// printf("%s\n", pstr);
// free(pstr);
// pstr =NULL;
// return 0;
//}
//内存清空函数
//void *memset(void *mem, int c, size_t n);
//int main(int argc,const char *argv[])
//{
// //printf("size = %ld\n", sizeof(void));
//
//// int a[10]={1,2,3,4,5};
//// memset(a, 0, 40);
//// for (int i=0; i<10; i++) {
//// printf("%d", a[i]);
//// }
//
// char str[100]="hello world";
// memset(str, 0, 100);
// for (int i=0; i<100; i++) {
// printf("%d", str[i]);
// }
// return 0;
//}
//
//void *calloc(size_t count, size_t size);
//申请的内存空间大小 = count * size;
//利用malloc memset 实现calloc
void *
mycalloc(size_t count, size_t size)
{
void *p=
malloc(count*
size);
if (!
p) {
return NULL;
}
memset(p, 0, count*
size);
return p;
}
//int main(int argc,const char *argv[])
//{
// int *pscore =mycalloc(10, sizeof(int));
// for(int i=0; i<10; i++)
// {
// //scanf("%d", &pscore[i]);
// scanf("%d", pscore+i);
// }
// for (int i=0; i<10; i++) {
// printf("%d ", *(pscore+i));
// }
// free(pscore);
// pscore = NULL ;
// return 0;
//}
//内存查找函数
//memchr
//void *memchr(const void *dst, int c, size_t n);
//int main(int argc,const char *argv[])
//{
// char str[100]="hello world";
//
// printf("%s\n", memchr(str, 'o', 100));
//
// return 0;
//}
//修改内存大小
//realloc
//void *realloc(void *, size_t);
//int main(int argc,const char *argv[])
//{
// char *pstr = (char *)malloc(50*sizeof(char));
//
// printf("%p\n", pstr);
//
// scanf("%s", pstr);
//
// pstr = realloc(pstr, 1000*sizeof(char));
//
// printf("%p\n", pstr);
//
// printf("%s\n", pstr);
//
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// char *pstr=malloc(100*sizeof(char));
// if (!pstr) {
// return -1;
// }
// scanf("%s", pstr);
// printf("%s\n", pstr);
//
// realloc(pstr, 0);//<==> free(pstr)
// //free(pstr);//同一块内存不能被释放两次
// pstr = NULL;
//
//
// return 0;
//}
//int main(int argc,const char *argv[])
//{
// char *pstr = realloc(NULL, 100);//<==> malloc(100)
// if (!pstr) {
// return -1;
// }
// scanf("%s", pstr);
// printf("%s\n", pstr);
// realloc(pstr, 0);
// pstr = NULL;
// return 0;
//}
#include <
string.h>
//内存比较函数
//int memcmp(const void *, const void *, size_t);
//int main(int argc,const char *argv[])
//{
// char str1[20]="helloworld";
// char str2[20]="helloaorld";
// //int a[5]={1,3,5};
//
// int ret = memcmp(str1, str2, 20);
// printf("ret = %d\n", ret);
//
// return 0;
//}
//内存拷贝函数
//void *memcpy(void *dst, const void *src, size_t n);
//dst 与src 指针指向的内存空间不能有重叠的部分
//int main(int argc,const char *argv[])
//{
// char str1[100]="hello world";
// char str2[100]={};
//
// str1[19]='A';
//
// memcpy(str2, str1, 20);
// printf("str2 = %s\n", str2);
// printf("str2[19]=%c\n", str2[19]);
// return 0;
//}
//内存移动函数
//void *memmove(void *dst, const void *src, size_t n);
//dst 与src 指向的内存空间可以重叠
//int main(int argc,const char *argv[])
//{
// char str[100]="hello world";
//
// memmove(str, &str[1], 11);
// printf("str = %s\n", str);
//
// return 0;
//}
//strstr
char *mystrstr(
const char * src,
const char *
substr)
{
while (*
src) {
char *tempstr = (
char *
)src;
char *tempsubstr = (
char *
)substr;
while (*tempstr==*
tempsubstr) {
tempsubstr++
;
tempstr++
;
if (*tempsubstr==
'\0') {
return (
char *
)src;
}
}
src++
;
}
return NULL;
}
//int main(int argc,const char *argv[])
//{
// char *str1 = "hello worworld qianfeng";
// printf("%s\n", mystrstr(str1, "world"));
// return 0;
//}
//memmem
//void *memmem(const void *mem, size_t size1, const void *submem, size_t size2)
//int main(int argc, const char *argv[])
//{
// char *str="helloworldqianfeng";
//
// printf("%s\n",memmem(str, 18, "world", 5));
// return 0;
//}
//把数字字符串转换成整型
//atoi
//atof
int main(
int argc,
const char *
argv[])
{
printf("%d\n", atoi(
" 123abc"));
return 0;
}
转载于:https://www.cnblogs.com/0515offer/p/4560437.html
转载请注明原文地址: https://win8.8miu.com/read-1541380.html