1. 下述三个有什么区别?char * const p;char const * p,const char *p?
解析:const char* p和char const p修饰的是p所指向的变量,不可以用p=’a’等这样的方式修改变量区的内容. 指针本身是可以修改的,比如说
char x,y; const p = &x, p = &y,修改指针本身是可以的,p = ‘b’就不行。
char const p;中const修饰的是指针,表明指针在操作过程中不可以修改,而指针所指向的内容是可以修改的,比如说char x ,y; char const p = &x; *p = ‘b’是可以的,但p=&y;是不可以的,const修饰的是指针,不可以修改指针的指向,只可以修改指针所捆绑的变量
2. int (*s[10])(int) 表示的是什么啊 ?
解析:这样的表达式可以遵循这样的规则:从右向左,由近及远,括号优先;
比如:从a符号开始。其右边是[10],说明a是个数组,其中存了十个元素。
再看a的左边是一个*。说明数组中存的是指针。
现在在看(*a[10])的右边是(int);说明所存的指针是指向有一个int形参的函数;
现在看(*a[10])的左边是个int ,说明指向的函数的返回值为int 类型;
3. 进程之间通信的途径,进程间通信方法?
解析:无名管道,命名管道,消息队列,信号,共享内存,套接字。等
网友评论