整理C知识点--指针&数组-创新互联

指针 和 一维数组
一维数组名是个指针常量
e.g:int a[5]={1,2,3,4,5};//输出a & a[0] 发现 2个值相等
一维数组名存放的是一维数组第一个元素的地址

成都网站设计、成都做网站服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!

下标和指针的关系
若a 是指针变量 那么 a[x]等价与*(a+x)//a = &a[0] *a=a[0]

一维数组需要2个参数:
数组第一个元素的地址 数组的长度

e.g:void pArr(int *pArr,int len)//pArr是一维数组名,len是数组的长度

#include 

void OutArr(int *pArr,int len)
{
    int i;

    for (i=0;i

指针变量的运算(指针变量是一个操作受限的变量)
指针变量 不能相加 相乘 相除 只能做减法(相减也是需要收到限制)
若2个指针变量指向的是同一块连续空间中的不同存储单元,才可以相减

e.g:
#include 

int main(void)
{
    int a[5] = {1,2,3,4,5};
    int *i,*j; 

    i = &a[1];
    j = &a[4];
    printf("i&j相隔%d个单元\n",j-i);
    return 0;
}

指针变量占用几个字节 sizeof:可以返回数据类型所占的字节数

#include 

int main(void)
{
    int a = 7;
    char b = 'b';
    double d = 10.5;//abd是不同类型的变量 
    int *i = &a;
    char *j = &b;
    double *k = &d;//ijk是不同类型的地址 

    printf("%d %d %d\n",sizeof(a),sizeof(b),sizeof(d));//4 1 8
    printf("%d %d %d\n",sizeof(i),sizeof(j),sizeof(k));//4 4 4

    return 0;
}

指针变量无论它指向什么类型的变量 该指针变量本身只占4个字节
一个变量的地址使用该变量首字节的地址表示

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:整理C知识点--指针&数组-创新互联
网站路径:http://ybzwz.com/article/icioe.html