C语言数组,字符串的名称使用时的注意点

当我们初学数组,字符串,指针时,容易弄混其名称的作用,例如以下程序:

#include<stdio.h>
int main()
{
    
    
    int a[10];
    printf("%d",a);
    getchar();
    return 0;
}

此时输出结果为该数组名指向数组首元素的地址,但不能与指针混为一谈。此时可以注意a与&a的区别。a表示的是a[0]的起始地址,而&a表示的整个数组的起始地址。只是恰好他们表示的地址相等,但并不能说他们两个就完全相等。

#include<stdio.h>

int main()
{
    
    
    int a[10];
    printf("%d",a[10]);
    getchar();
    return 0;
}

此时数组内没有储存数据,不同版本编译器可能输出不同结果,比如笔者的输出结果为1,有的可能时随机数字。

猜你喜欢

转载自blog.csdn.net/weixin_51871724/article/details/112207690