malloc和strcpy
时间: 2024-01-03 11:23:11 浏览: 66
C语言中的strdup()函数和其与strcpy()函数的区别
malloc和strcpy是C语言中的两个函数。
1. malloc函数用于动态分配内存。它接受一个参数,即所需内存的大小(以字节为单位),并返回一个指向分配内存的指针。如果分配成功,则返回的指针可以用于访问分配的内存块。如果分配失败,则返回NULL指针。
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr;
int n = 5;
// 分配内存
ptr = (int*)malloc(n * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n"); exit(1);
}
// 使用分配的内存
for (int i = 0; i < n; i++) {
ptr[i] = i + 1;
}
// 打印分配的内存
for (int i = 0; i < n; i++) {
printf("%d ", ptr[i]);
}
// 释放内存
free(ptr);
return 0;
}
```
2. strcpy函数用于将一个字符串复制到另一个字符串中。它接受两个参数,即目标字符串和源字符串,并将源字符串的内容复制到目标字符串中。需要注意的是,目标字符串必须具有足够的空间来容纳源字符串的内容。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20];
char str2[20] = "Hello, world!";
// 复制字符串
strcpy(str1, str2);
// 打印复制后的字符串
printf("复制后的字符串:%s\n", str1);
return 0;
}
```
阅读全文