栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学习记录day10

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学习记录day10

初识指针(二): 

指针-指针
int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    printf("%dn", &arr[9] - &arr[0]);
    return 0;
}
指针-指针得到的是中间的元素个数


int my_strlen(char* str)//自定义函数运用指针实现strlen函数功能
{
    char* start = str;
    char* end = str;
    while (*end != '')
    {
        end++;
    }
    return end - start;
}
int main()
{
    //strlen  求字符串长度
    //
    char arr[] = "hello";
    int len = my_strlen(arr);
    printf("%dn", len);
}

 

 

指针的关系运算
允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,
但不允许与指向第一个元素之前的那个内存位置的指针进行比较。


int main()
{
    int arr[10] = { 0 };
    printf("%pn", arr);//数组名:代表首元素的地址(绝大多数情况)
    printf("%pn", arr+1);
    printf("%pn", &arr[0]);
    printf("%pn", &arr[0]+1);
    printf("%pn", &arr);
    printf("%pn", &arr+1);
    return 0;
}
特例
1.&arr-&数组名-取出的是整个数组的地址
2.sizeof(arr)-sizeof(数组名)-计算的是整个数组的大小


二级指针
int main()
{
    int a = 10;
    int* pa = &a;
    int** ppa = &pa;//ppa就是二级指针
    return 0;
}

 


指针数组(是数组)-存放指针的数组
int main()
{
    int a = 10;
    int b = 20;
    int c = 30;
    
    int* arr2[3] = { &a,&b,&c };
    int i = 0;
    for (i = 0; i < 3; i++)
    {
        printf("%d ", *(arr2[i]));
    }
}

 今日练习:

交换数组  数组逆置

(源码已上传至个人github)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号