注册 登录
编程论坛 C语言论坛

关于结构和结构体指针的问题

cr51k2 发布于 2020-07-20 18:30, 2320 次点击
只有本站会员才能查看附件,请 登录

一般,我们都是使用①那种方法求得所需内存,但我发现②那种方法也可以使用,这是为什么呢?
3 回复
#2
cr51k22020-07-20 18:31
只有本站会员才能查看附件,请 登录

①求得的内存是结构大小,②求得的内存是结构指针的大小
#3
纯蓝之刃2020-07-21 08:53
第一条是这个结构体变量占用的内存长度。第二个是指向这个结构体类型的指针的长度,一般为int类型长。
#4
fulltimelink2020-07-21 08:58
malloc的参数是限制至少分配多少内存,使用超出限制的堆内存,可能会引发不可预期的错误。

程序代码:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int main(void)
{
    char * a = (char *)malloc(5 * sizeof(char));
    strcpy(a, "1234567890");
    printf("%s", a);
    return 0;
}


只有本站会员才能查看附件,请 登录
1