c 数组与指针的使用注意事项

Posted 马在路上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 数组与指针的使用注意事项相关的知识,希望对你有一定的参考价值。

数组变量和指针变量有一点小小的区别

所以把数组指针赋值给指针变量的时候千万要小心

加入把数组赋值给指针变量,指针变量只会包含数组的地址信息

而对数组的长度一无所知

相当于指针丢失了一部分信息,我们把这种信息的丢失称为退化

 

只要把数组当做参数传递给函数,数组免不了退化为指针

但需要记清楚代码中那些地方发生过数组退化

因为他会引起一些不易察觉的错误

 

举例说明:

char ar[] = "abc";
sizeof(ar) 结果为:6
char *ch = ar;

sizeof(ch) 结果为 8 在32位平台上是4 64位平台是 8

void func(char a[]) {

    printf("%lu",sizeof(a));

}

结果为 8  在32位平台上是4 64位平台是 8

 

以上是关于c 数组与指针的使用注意事项的主要内容,如果未能解决你的问题,请参考以下文章

指针与数组

基础C/C++ 数组与指针

swig-php 包装器使用指针,c 代码是一个数组

指针与数组

C语言review之指针

c语言中如何通过二级指针来操作二维数组