zoukankan      html  css  js  c++  java
  • C和指针 第六章 数组名与指针

    指针的算术运算符是指针和数组之间的一种关联,但不是唯一关联:

     可以使用数组名作为指向数组第一个元素的指针,但是不可以给数组名赋新的值。

    //如下声明a
    int a[10];
    
    //用a作为指向数组第一个元素的指针,可以修改a[0];
    
    *a = 11;
    
    //通过a + 1来访问a[1];
    *(a + 1) = 22;
    

    但是试图使数组名指向其他地方是错误的:

    #include <stdio.h>
    
    int main()
    {
    	char arr[] = "yangxunwu";
    	
    	while (*arr != '') {
    		arr++;
    	}
    	return 0;
    }
    

    会发生下面的报错,表达式必须是可修改的左值。

    如果需要可以把数组名赋值给真正的指针变量:

    #include <stdio.h>
    
    int main()
    {
    	char arr[] = "yangxunwu";
            //数组名赋值给指针变量
    	char *ptr = arr;
    	while (*ptr != '') {
    		ptr++;
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    二月12日
    十日冲刺
    十日冲刺
    十日冲刺
    十日冲刺
    十日冲刺
    十日冲刺
    十日冲刺
    一周进度条博客
    十天冲刺
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/5774372.html
Copyright © 2011-2022 走看看