下面的代码中,strcmp(p1,p2)>0和strcpy(t,p1)为什么可以用指针做参数,而不是指针所指向的东西作参数呢?概念有点混乱。代码是没问题的,功能是比较三个字符串的大小。#include"stda...
楼上已经解释了传指针参数的作用了。我来分析下,后面一句。
指针作参数实质就是把整个字符串赋给指针,找到了字符串的首地址,自然就相当于传的是整个字符串内容。如果,这个你没理解好。
下面这座做法就比较直观一点了。但是,显然相对繁琐。
这里就是你所希望的,(*p1)指针所指向的内容作为参数,但是该函数要求是指针类型参数。那么再加个取地址就可以了。
应该说一个数组的数组名相对于一个指针来进行指针参数的传递。
还是说道这点,一个数组名在编译器里面,对应的是该数组的首地址。保存a[0]的地址值。
那么就相当于是一个该指针类型了。而传入指针参数,获得首地址,数组是连续分配的地址。
自然,传入一个数组名,就能找到该数组中任意一个元素了。不知,有没有更好的理解数组、数组名、和指针之间的关联呢?
· TA获得超过3.2万个赞
字符串就是用指针(首字符地址)作为关键参数,只传一个地址,方便、速度也快;
1,向库函数strcpy能传递指针指向的字符么?(一级指针)
2,建议自个写一个库函数strcpy,你就知道为什么了,其内部就是从传入的指针位置开始挨个比较
3,建议再了解一下函数参数值传递和引用传递.
1,向库函数strcpy能传递指针指向的字符么?(一级指针)
2,建议自个写一个库函数strcpy,你就知道为什么了,其内部就是从传入的指针位置开始挨个比较
3,建议再了解一下函数参数值传递和引用传递.
希望对你有帮助,---珂昵贝儿