本文主要是介绍8.17学习总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天吧,学了点指针,有点晕,现在回顾一下。
1.指针的高级应用,
int
main
()
{
char
str1
[]
=
"hello bit."
;
char
str2
[]
=
"hello bit."
;
char *
str3
=
"hello bit."
;
char *
str4
=
"hello bit."
;
if
(
str1
==
str2
)
printf
(
"str1 and str2 are same\n"
);
else
printf
(
"str1 and str2 are not same\n"
);
if
(
str3
==
str4
)
printf
(
"str3 and str4 are same\n"
);
else
printf
(
"str3 and str4 are not same\n"
);
return
0
;
因为
用相同的常量字符串去初始
化不同的数组的时候就会开辟出不同的内存块,所以1跟2不同,3跟4都是指向同一个内存块。
2.指针数组。
int* p[10]
3.数组指针
int(*p)[10]
指向数组的指针,可以存放数组的地址。
注意书写的格式、、、、、、
void print(int (*p)[4], int x, int y)
{
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
printf("%d ", p[i][j]);
}
printf("\n");
}
}
int main()
{
int arr[3][4] = { {1,2,3},{4,5,6,7,} };
print(arr, 3, 4);
return 0;
}
这里格式最容易搞混。
3.二级数组传参:有很多种形式,
4.函数指针
void
test
()
{
printf
(
"hehe\n"
);
}
int
main
()
{
printf
(
"%p\n"
,
test
);
printf
(
"%p\n"
,
&
test
);
return
0
;
}
结果一样, 说明----&函数名跟函数名一样,都是函数的地址。
格式:
int (*p)(int int ) =add;
5.函数指针数组。
int(*p[10])(int int);
函数指针数组的应用----转移表 (有空可以写一下;
然后今天就到这里了,tmd对面有一堆傻逼吵死了;
这篇关于8.17学习总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!