C语言中的一些细节

复杂类型确认:

1.int * p[10]:数组,元素为10个指针(右结合)

2.int (*p)[10]:指针,指针的类型是int [10],是一个数组。

不同于指向数组首元素,而是指向整个数组,p+1为+40(byte)

3.int * * p:指针,指向指针的指针。二级指针可以用来改变指针的指向。

4.int * p(int):函数,返回值是一个指向整型的指针

5.int (*p)(int):指针,指向一个函数

const关键字:

可用于修饰指针变量

1.const出现在*之前:p指向的地址可以改变,*p不可以被改变。

2.const出现在*之后:p指向的地址不可以改变,*p可以改变

注意:const char * const p,为*p和p都不可改变。

指针和字符串的关系:

1.用指针来遍历字符串的所有字符

1) char ch[20];

char *p = ch;

for(;p!=‘\0’;p++){

}

2)char *p = “qianfeng”

注意:1)和2)的区别在于。z

返回指针的函数:

char * ch(){

return “qianfeng”

}

指向函数的指针(指向函数名:函数的入口地址):

1.函数的地址就是函数名

int sum(int a,int b);

定义一个指向函数的指针变量p

被p指向的函数:返回值int类型,接受两个int类型的参数

int (*p)(int,int) = sum;

2.利用指针变量p间接调用sum函数:

1)  (*p)(5,6);

2)  p(5,6);

3.为什么要让指针指向函数

1)可以将这个函数作为参数进行传参

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,898评论 0 10
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,629评论 1 42
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,618评论 3 44
  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 1,979评论 0 9
  • 离别的时候 我悄悄带走了一抔园子里的泥土 埋下几粒薰衣草的种子 去祈祷拥有一份用浪漫收尾的爱情 当撩人的夜色开始降...
    HEALER变成了那只狗阅读 350评论 1 2

友情链接更多精彩内容