首页 > 其他分享 >C经典 关于一维数组指针

C经典 关于一维数组指针

时间:2023-02-14 10:35:53浏览次数:35  
标签:一维 指向 int ++ 数组 printf 指针


说明:
1)一维数组指针表示方法 int *p = a 而非 int *p = &a
也可int *p = &a[0]表示
2)p + 1 或a + 1表示的是指向下一个地址

#include <stdio.h>

int main(int argc, const char * argv[])
{

// insert code here...
int a[4]={1,2,3,4};
printf("a[0] = %p\n",&a[0]);
printf("a[1] = %p\n",&a[1]);
printf("a[2] = %p\n",&a[2]);
//定义数组指针,
int *p = a;//p = a
//取地址
printf("p = %p\n",p);//指向a[0];
printf("p + 1 = %p\n",p + 1);//p + 1指向a[1]; = 0x7fff5fbff874
printf("a + 1 = %p\n",a + 1);//a + 1指向a[1]; = 0x7fff5fbff874
//取内容
printf("*(p + 1) = %d\n",*(p + 1));//*(p + 1)指向a[1]的值; =2
printf("*(a + 1) = %d\n",*(a + 1));//*(a + 1)指向a[1]的值; =2

//
printf("*p++ = %d\n", *p++);//=1;
printf("*p= %d\n", *p); // =2;

//使用数组指针遍历数组
int *pp = a;
for (int i = 0; i < 4; i ++) {
printf("*pp++ = %d\n", *pp++);
}
printf("\n");
return 0;
}

结论:
引用一个数组元素,可以使用二种方法:
1)下标法 ,a[i];
2)指针法,(a+1) 或 (p+1)
3) a是常量 (a++)错误, p是变量(p++)正确


标签:一维,指向,int,++,数组,printf,指针
From: https://blog.51cto.com/u_12516227/6055871

相关文章

  • C经典 二级指针
    用图说明事例代码#include<stdio.h>intmain(intargc,constchar*argv[]){//inta=5;int*p1=&a;//-打印地址-----地址相同---------------p......
  • C经典 一维数组指针解析
    #include<stdio.h>intmain(intargc,constchar*argv[]){//inta[]={1,2,3,4};int*pa[]={&a[0],&a[1],&a[2],&a[3]};printf("*pa[0]=%d\n",*pa......
  • List.addAll()报空指针异常的问题
    问题代码:List<User>user=null; 在使用List的addAll方法的时候,如果被添加的对象是null,就会报空指针异常,原因是只在栈中有引用而在堆中没有分配到内存空间改为:Li......
  • 记录--数组去重的五种方法
    前言您或许会疑惑,网上那么多去重方法,这篇文章还有什么意义?别着急,这篇文章只节选了简单的,好玩的,古老的,有实际讲解意义的去重方法,除了去重的实现以外,我还将和您分享这其中......
  • php 常用数组方法
    array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。array_pop()函数删除数组中的最后一个元素。array_unique()函数用于移除数组中重复的值。如果两......
  • 算法题——截断数组
    题目:截断数组要求将数组分成三个非空子数组,并且三个子数组内元素和相等,所以该数组最少要有3个元素,另外假设数组所有元素和为x,那三个子数组的元素和都为x/3,因此数组元素......
  • 【LeeCode】724. 寻找数组的中心索引
    【题目描述】给你一个整数数组 ​​nums​​ ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下......
  • 一维数组与二维数组———详细解读及一些注意事项
    一维数组一维数组的创建及初始化所谓数组,就是同一种元素的集合。一维数组的表达式为:数组元素类型+数组名+[常量表达式];#include<stdio.h>intmain(){//元素类型为int......
  • 数组的排序和查找
    1.数组156注意数组知识点double[]hens={3,5,1,3.4,2,50};1.double[]表示是double类型的数组,数组名hens2.{3,5,1,3.4,2,50}表示数组的值/元素,依次表示数......
  • C语言学习笔记(七): 指针的使用
    函数的定义形参和实参在定义函数时函数名后面括号中的变量名称为“形式参数”(简称“形参”)或“虚拟参数”。在主调函数中调用一个函数时,函数名后面括号中的参数称为“......