当前位置: 网站首页>网站建设>网站建设

【网站优化】五家渠网站建设_企业网站制作公司_高端网站设计开发-五家渠上往【简单基础中小型网站】

发表日期: 2022-09-01 14:36:42 浏览次数:67

上往建站提供网站建设网站推广网店设计网站建设企业网站网站制作网页设计网站建设企业网站制作网页制作   高端定制网站建设H5页面设计开发微网站微信运营移动端设计开发手机端网站小程序,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设网络推广微信公众号代运营、商城小程序开发定制网店设计等业务,专业团队服务,效果好。。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)

五家渠网站建设_企业网站制作公司_高端网站设计开发-五家渠上往

网站建设.png

  1. 指针与数组的区别

    char *str="Hello";char arrgs[]="Hello";

    字符数组:

    char *p=(char*)&arrgs == char *p=arrgs ;char *p=(char*)(&(arrgs[0])) == &arrgs == arrgs;

    字符串指针:

    char *p=(char*)&str != str; str==str[0] =='H'

    得出结论字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,

    但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式;

    HBR1

       HBR1

      238***9419@qq.com

    5年前 (2017-05-05)
  2.    喵帕斯

      115***2452@qq.com

    87

    一个小知识点:

    在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0])sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行),eg:

    #include<stdio.h>int main(int argc,char *grgv[]){
        int a[]={1,2,3,4,5};
        int b;
        b=sizeof(a)/sizeof(a[0]);
        printf("数组元素个数为:%d",b);
        return 0; }
    喵帕斯

       喵帕斯

      115***2452@qq.com

    5年前 (2018-01-25)
  3.    流浪天涯

      223***9389@qq.com

    42

    数组是一种一次申请多个变量的方法,数组的使用让我们可以在程序中保留多个变量的值,进行处理,例如给定n个学生的成绩,要求有多少学生超过了平均分,代码如下:

    #include <stdio.h>  //导如输入输出头文件int main(){
        //主函数 
        int cj[100]={0};//定义数组 
        int n;
        int count=0;//定义计数器,统计有多少人达到平均分 
        scanf("%d",&n);
        int i=0;
        //读入数据 
        for(i=0;i<n;i++){
            scanf("%d",&cj[i]);
        } 
        //对数据进行求和 
        double sum=0;
        for(i=0;i<n;i++){
            sum+=cj[i];
        } 
        //求平均分 
        double arg=sum/n;
        //判断有多少人达到平均分; 
        for(i=0;i<n;i++){
            if(cj[i]>arg){
                count++;
            }
        } 
        //输出平均分和人数 
        printf("平均分为:%0.2f
    超过平均分的人有:%d个
    ",arg,count);
      return 0;}
    流浪天涯

       流浪天涯

      223***9389@qq.com

    5年前 (2018-02-12)
  4.    沂圆束潇

      953***815@qq.com

    32
    #include <stdio.h>int main(){
        int a[2] = {1,2};
        printf("a      = %d
    ",a[0]);
        printf("*(a+0) = %d
    ",*(a + 0));
        printf("a[1]   = %d
    ",a[1]);
        printf("*a     = %d
    ",*a);
        printf("*(a+1) = %d
    ",*(a + 1));
        printf("
    ");
        printf("a    的地址:%p
    ",a);
        printf("(a+0)的地址:%p
    ",(a + 0));
        printf("(a+1)的地址:%p
    ",(a + 1));
        // %p 读入一个指针
        printf("
    ");


字符串指针:


char *p=(char*)&str != str; str==str[0] =='H'

得出结论字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,


但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式;


HBR1

   HBR1


  238***9419@qq.com


5年前 (2017-05-05)

   喵帕斯


  115***2452@qq.com


87

一个小知识点:


在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0]), sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行),eg:


#include<stdio.h>


int main(int argc,char *grgv[])

{

    int a[]={1,2,3,4,5};

    int b;

    b=sizeof(a)/sizeof(a[0]);

    printf("数组元素个数为:%d",b);

    return 0; 

}

喵帕斯

   喵帕斯


  115***2452@qq.com


5年前 (2018-01-25)

   流浪天涯


  223***9389@qq.com


42

数组是一种一次申请多个变量的方法,数组的使用让我们可以在程序中保留多个变量的值,进行处理,例如给定n个学生的成绩,要求有多少学生超过了平均分,代码如下:


#include <stdio.h>  //导如输入输出头文件


int main(){

    //主函数 

    int cj[100]={0};//定义数组 

    int n;

    int count=0;//定义计数器,统计有多少人达到平均分 

    scanf("%d",&n);

    int i=0;

    //读入数据 

    for(i=0;i<n;i++){

        scanf("%d",&cj[i]);

    } 

    //对数据进行求和 

    double sum=0;

    for(i=0;i<n;i++){

        sum+=cj[i];

    } 

    //求平均分 

    double arg=sum/n;

    //判断有多少人达到平均分; 

    for(i=0;i<n;i++){

        if(cj[i]>arg){

            count++;

        }

    } 

    //输出平均分和人数 

    printf("平均分为:%0.2f 超过平均分的人有:%d个 ",arg,count);

  return 0;

}

流浪天涯

   流浪天涯


  223***9389@qq.com


5年前 (2018-02-12)

   沂圆束潇


  953***815@qq.com


32

#include <stdio.h>


int main()

{

    int a[2] = {1,2};

    printf("a      = %d ",a[0]);

    printf("*(a+0) = %d ",*(a + 0));

    printf("a[1]   = %d ",a[1]);

    printf("*a     = %d ",*a);

    printf("*(a+1) = %d ",*(a + 1));

    printf(" ");

    printf("a    的地址:%p ",a);

    printf("(a+0)的地址:%p ",(a + 0));

    printf("(a+1)的地址:%p ",(a + 1));

    // %p 读入一个指针

    printf(" ");

    return 0;

}

输出结果:


a      = 1

*(a+0) = 1

a[1]   = 2

*a     = 1

*(a+1) = 2


a    的地址:0x7ffe9e227634

(a+0)的地址:0x7ffe9e227634

(a+1)的地址:0x7ffe9e227638

事实上 a[0] 、a[1]...a[i] 代表的都是值,a、(a+0)、(a+1)、(a+i) 代表的是地址;另外这里的 a 代表整个数组的首地址,相当于 a[0] 的地址,而这里 (a+1) 就代表的是 a[0+1] 的地址。


正如文章中提到的:所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素,即是说 (a+i) 就代表的是 a[0+i] 的地址。


沂圆束潇

   沂圆束潇


  953***815@qq.com


4年前 (2018-04-11)

   布克F91


  335***443@qq.com


28

对于数组的初始化需要注意以下几点:


1) 可以只给部分元素赋值,当 { } 中值的个数少于元素个数时,只给前面部分元素赋值。例如:


int a[10]={12, 19, 22 , 993, 344};

表示只给 a[0]~a[4] 5 个元素赋值,而后面 5 个元素自动初始化为 0。


当赋值的元素少于数组总体元素的时候,不同类型剩余的元素自动初始化值说明如下:


 对于 short、int、long,就是整数 0;

 对于 char,就是字符 '';

 对于 float、double,就是小数 0.0。

我们可以通过下面的形式将数组的所有元素初始化为 0:


int nums[10] = {0};

char str[10] = {0};

float scores[10] = {0.0};

由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可。


2) 只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1,只能写作:


int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};

而不能写作:


int a[10] = 1;

布克F91

   布克F91


  335***443@qq.com


4年前 (2018-06-13)

   Jiangang


  121***5109@qq.com


40

指针与数组名的区别


指针:也是一个变量,存储的数据是地址。


数组名:代表的是该数组最开始的一个元素的地址。


int a[10];

int *p;

p = &a[0] // 可以写成 p = a;

对数组元素 a[i]的引用也可以写成*(a+i)这种形式。

赋值语句  p=&a[0] 也可以写成下列形式: p=a。

p 是个指针,p[i]与*(p+i)是等价的。

区别:指针是一个变量,可以进行数值运算。数组名不是变量,不可以进行数值运算。


Jiangang

   Jiangang


  121***5109@qq.com


4年前 (2018-09-05)

   chrislee


  cod***hrislee@163.com


28

数组和指针的关系


函数的参数中 数组类型参数 int a[]本质是指针 可以直接换成 int *a;

可以用数组的运算符[]进行运算,而且可以通过a[0]就直接修改了外面的数组元素;

size of(a) == sizeof(int *) 所以函数内部没法用sizeof得到数组的长度 只能传一个len;

// 一个整型数组的指针,长度为 len, 得到数组中的最小值和最大值 ———— 从外部传入两个指针,从而将所求的两个结果保存带出来,得到多个返回值。

void minMax(int a[], int len, int *min, int *max) {

    int i;

    

    *min = *max = a[0]; //假定最大值 最小值相等 为a[0]  

    

    for(i= 1; i < len, i++) {

        if( a[i] < *min) {

          *min = a[i];

        }

        

        if(a[i] > *max) {

          *max = a[i];

        }

    }


}


int a[] = {1, 2, 3, 4, 5, 7, 8, 9, 15, 18, 25, 33};

int min, max;

minMax(a, sizeof(a)/ sizeof(a[0]), &min , &max );

printf( "min = %d, max = %d ",  min,  max);

数组变量是特殊的指针,数组变量本身表达地址,int a[10];   int *p =a;

数组变量无需用取址符& ;

数组的元素表达的是变量,需要用&取地址,如 m = &a[0];

[]运算符可以对数组做,也可以对指针做 p[0] == a[0];

*运算符可以对指针做,也可以对数组做 *a = 25, *a可以得到或者修改数组首个元素的值;

实际上数组是 const 的指针,所以不能被赋值。 如果 int a[] = {1,2,5,7}; int b[],由于 int b[]实质上等价于 <===> int const *b;    b 是一个常数,不能被改变,初始化出来代表这个数组就不能再改变。 b = a; (错误) 数组变量之间是不可以这样互相赋值的。 而 int *q = a; 这样是可以的。



五家渠网站建设_企业网站制作公司_高端网站设计开发-五家渠上往


上往建站提供微信小程序+公众号商城+企业网站建设一站式微信网站商城营销系统,微信小程序是一种依附于微信体内即点即用,无需下载安装即可使用的轻应用,它开启了移动端“触手可及”的梦想,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设微信公众号代运营商城小程序开发定制网店设计等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


400-111-6878
服务热线
顶部

备案号: 苏ICP备2021016738号-6

CopyRight © 2021 上往建站 All Right Reserved 未经许可不得复制转载

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.club  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

全国服务热线:400-111-6878