首页 > 其他分享 >C语言学习--指针和数组、const修饰指针

C语言学习--指针和数组、const修饰指针

时间:2022-10-24 22:02:33浏览次数:45  
标签:const 常量 -- ----------------------- int 数组名 values printf 指针

数组名:【数组名是地址常量】-- 不可以被修改

#include<stdio.h>

int main (void)
{
    int a[3] = {1,2,3};//a是数组名, 数组名是地址常量,不能被修改

    int b[3] ;

    printf("the a is %x", a);

    b = a ;// 这样的code 是错误的, 因为b代表的含义是数组int b[]的地址, 但是数组名是常量, 是不能被修改的.



}

指针是变量, 可以使用数组名给指针复制

#include<stdio.h>

int main (void)
{
    int a[3] = {1,2,3};//a是数组名, 数组名是地址常量,不能被修改


    int b[3] ;

    int *p = b;//p是指针变量, b是地址常量, 可以把常量复制给变量


}

取数组元素

 

 

#include<stdio.h>

int main (void)
{
    int a[3] = {1,2,3};//a是数组名, 数组名是地址常量,不能被修改

    for (int i=0 ; i < 3; i++)
    {
        printf("the i values is %d\n", a[i]);
    }

}
#include<stdio.h>

int main (void)
{
    int a[3] = {1,2,3};//a是数组名, 数组名是地址常量,不能被修改

    for (int i=0 ; i < 3; i++)
    {
        printf("the i values is %d\n", a[i]);  // a[i] == *(a+i)
    }


    printf("-----------------------\n");
    for (int i=0 ; i < 3; i++)
    {
        printf("the i values is %d\n", *(a+i));// a[i] == *(a+i)
    }


    printf("-----------------------\n");
    int *p = a;  // a是地址常量, 复制给p
    for (int i=0 ; i < 3; i++)
    {
        printf("the i values is %d\n", p[i]); // p就是a
    }


     printf("-----------------------\n");
    //int *p = a;
    for (int i=0 ; i < 3; i++)
    {
        printf("the i values is %d\n", *(p+i));
    }

}

the i values is 1
the i values is 2
the i values is 3
-----------------------
the i values is 1
the i values is 2
the i values is 3
-----------------------
the i values is 1
the i values is 2
the i values is 3
-----------------------
the i values is 1
the i values is 2
the i values is 3




 

标签:const,常量,--,-----------------------,int,数组名,values,printf,指针
From: https://www.cnblogs.com/shunguo/p/16823158.html

相关文章

  • CAD文件过大,使用它。100M变2M。
    先在命令栏输入   (dictremove(namedobjdict)"ACAD_DGNLINESTYLECOMP")  包含括号一起 然后输入PU进行清理。   ......
  • RTCRtpSender - (void)setParameters:
    titleRTCRtpSender-(void)setParameters:(RTC_OBJC_TYPE(RTCRtpParameters)*)parameters{RTCRtpSender->RtpSenderBase:SetParametersRtpSenderBase->RtpSenderBase:......
  • Netty介绍、BIO与NIO基础知识
    第1章Netty介绍和应用场景1.1Netty介绍Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开......
  • CSS盒子模型与定位
    盒子模型与定位元素简单分三大类:块级元素,内联元素(行级),内联块级元素块级元素:元素宽度在不设置的情况下,是它本身父容器的100%常见的块级元素有:<div>,<p>,<h1>~<......
  • 【闲话】2022.10.24
    今天考试,又炸了乐死怎么会有考试一次出两个诈骗题啊(笑今日一歌是《有顶天变》!晚上有一会自由活动时间大家都疯了,大家都疯了(笑对了,我,Kaguya和WR进行了混沌的三星......
  • Chrome浏览器便携版制作教程
    1概述GoogleChrome是常用的一个浏览器,如果使用安装版的话电脑上也只能安装一个,但有时候需要电脑上使用多个浏览器,便于区分。以下教程就是制作Chrome的便携版,可安装多......
  • 牛客SQL-牛客题:256-288(不干了)
    256.写一个sql查询,积分表里面出现三次以及三次以上的积分。若有多个符合条件的number,则按number升序排序输出SELECT`number`FROMgradeGROUPBY`number`HAVINGCOUN......
  • 枚举、单例模式
    一、枚举Enum1.1简介1.概念:枚举就是表示一些固定的值(常量)使用枚举项表示这些固定的值每一个枚举项都是一个对象2.定义枚举类的语法:访问修饰符enum枚举类的......
  • Android编译报错:Cannot resolve external dependency com.android.tools.build:gradle
    修改根目录的build.gradle增加 repositories配置,然后再File>SyncProjectwithGradleFiles,再执行Build>RebuildProjectbuildscript{ext{agp_versi......
  • ST算法
    ST算法ST算法可以在\(O(N\logN)\)时间的预处理后,以\(O(1)\)的时间复杂度在线回答区间最值问题。状态转移一个序列的子区间个数显然有\(N^2\)个,根据倍增思想,我们......