#include字符指针void test(int arr[]){//对于函数传入数组实际传入的是数组首元素地址 int size = sizeof(arr)/sizeof(arr[0]); printf("%d",size); } int main(void){ int arr[10]={0}; test(arr); return 0; }
int main(void){
char *p = "abcdef";//常量字符串(const char *p="abcdef");不可修改 *p='B'会报错
printf("%cn",*p);//a
printf("%s",p);//abcdef
return 0;
}
注意:**字符指针变量实际存放的首字符的地址**
*重要试题*:
#include指针数组和数组指针int main() { char str1[] = "hello bit."; char str2[] = "hello bit."; const char *str3 = "hello bit."; const char *str4 = "hello bit."; if(str1 ==str2) printf("str1 and str2 are samen"); else printf("str1 and str2 are not samen"); if(str3 ==str4) printf("str3 and str4 are samen"); else printf("str3 and str4 are not samen"); return 0; } //输出结果: str1 and str2 are not same str3 and str4 are same
指针数组-->数组 用来存放指针类型的数组
数组指针-->指针 指针的类型是数组
1、指针数组对于指针数组的应用:
解释:
2、数组指针分析代码:
数组指针的应用pa相当于是取到数组的地址-->(*pa)相当于拿到这个数组类似于arr-->*pa==arr
所以遍历可以用(*pa)[i];取到数组的元素
第二种写法:*(*pa+i)也可以*pa==arr *pa+i相当于拿到元素的地址 然后在解引用-->*(*pa+i)
就拿到元素了
数组指针应用二:
这个有点不好讲,有什么问题可以私信哟,帮你解决!!!都是学生互相学习
温习一下数组名和指针的关系,以及互相转化的应用
例题:



