C语言中关于指针的理解

#include 
int main()
{
    int a=11;
    int *p=&a;        //因为a是整型的,所以我们定义指针p的时候要和a的类型一样
    char b;
    char *pa=&b;       //同理,b是字符型,所以这里的pa也要用字符型
    return 0;
}

因为*p指向的是地址,所以我们定义的时候需要在a前面用"&"取地址运算符。


 需要注意的是,当我们定义数组的时候,如果只定义数组名的话,系统就会默认把s[0]的地址分配给*pa

#include 
int main()
{
    int s[10]={8,2,3,4,5};
    int *p=&s[3];
    int *pa=&s;
    printf("%d\n",*p);
    printf("%d",*pa);
    return 0;
}

 

你可能感兴趣的:(c语言)