C语言解决,谢谢,急

来源:百度知道 编辑:UC知道 时间:2024/06/24 09:17:27
定义一个动态数组:
int n=100;
char *str;
str=(char *)malloc(sizeof(char) * n);

请问为什么n前面要加一个*号,有什么用,在sizeof后面为什么要加个(char),这个又是什么含义,麻烦哪位大哥大姐帮我解释一下,谢谢.

sizeof(char) * n
是用sizeof(char)的值乘以n,那个*是乘号

sizeof(char)是取得char型的size的意思。

sizeof()是个运算符,结果是int类型的长度,再乘以n,就得到了长度为n的一维数组的大小