日期:2014-05-16  浏览次数:20625 次

有关ldd中字符驱动程序的scull_devices
scull的main.c的开头定义Scull_Dev *scull_devices

这样不是只是把它定义为一个指向该结构体类型的一个指针吗

可是后来使用的时候是scull_devices[i]把它当作一个指针数组

为什么?

------解决方案--------------------
#include<stdio.h>
#include<stdlib.h>

int main()
{
char *st;

st = (char *)malloc(5*sizeof(char *));

st[0] = '0';
st[1] = '1';
st[2] = '2';
st[3] = '\0';

printf("%s", st);

return 0;
}


如上char *st 可以st[0], Scull_Dev 同样可以。

实际上指针和数组名字一样只是指向一个地址单元,楼主可以看看C语言的指针部分。
------解决方案--------------------
LS来得正好,正准备去找代码和帮这个哥们看看的,呵呵