首页 > 其他分享 >指针和数组基础知识

指针和数组基础知识

时间:2023-02-19 22:36:49浏览次数:33  
标签:输出 int ages 基础知识 数组 printf 指针

/*
数组元素的访问方式
1、数组名[下标]
2、指针量名[下标]
3、*(p+i)
p+1,指针+1,则指针指向的地址加4
*/

#include "stdafx.h"

void changeNum(int *array);

int main(int argc, char* argv[])
{
int ages[] = {10, 20, 30, 40};

int *p = &ages[0];//指针指向数组的首地址

printf("%d\n", *p);//输出10

printf("%d\n", *(p+1));//输出20

int *p1 = ages;//p1指向10的地址,由此可见,此赋值与int *p = &ages[0]相等

printf("%d\n", *p1);//输出10

changeNum(ages);

int s1 = sizeof(p);
printf("int类型指针大小%d\n", s1);//输出4

double *p2;
int s2 = sizeof(p2);
printf("double类型指针大小%d\n", s2);//输出4

char *p3;
int s3 = sizeof(p3);
printf("char类型指针大小%d\n", s3);//输出4
//由此可见,3种类型的指针,大小都为4

return 0;
}

void changeNum(int *array) {
int s = sizeof(array);
printf("%d\n", s);//输出4,也就是说,不管多大的数组传递过来,都变成了指针传递
printf("%d\n", *array);//得到数组的第一位,因为指针指向数组的首地址
}

标签:输出,int,ages,基础知识,数组,printf,指针
From: https://blog.51cto.com/u_21817/6066898

相关文章

  • C指针基础
    ......
  • pwntools基础知识
    pwntools基础知识连接:本地process()里面放文件名例如process('./test');远程remote(,),remote接受url并指定端口,remote('url',端口)。数据处理:主要对整数进行打包,就是......
  • acwing 数组元素的目标和
    原题链接题解代码双指针#include"iostream"usingnamespacestd;constintN=100010;inta[N],b[N];intmain(){intn,m,x;cin>>n>>m>>x;for(i......
  • 基于OpenMV的图像处理基础知识及例程使用方法
                ......
  • 快慢指针
    快慢指针问题思路:定义两个指针,一个快指针(fastp),一个慢指针(slowp),在单链表中,让快慢指针同时从同一位置,向后遍历,他们每次的步数都固定,比如慢指针每次向后移动1步,快指针移动2步......
  • 代码随想录-数组理论基础
    数组理论基础二分查找代码随想录(programmercarl.com)二分查找前提条件:有序数组且无重复元素,想好是用左闭右闭还是左闭右开!如果是前者,while(left<=right),left==r......
  • 基础知识-网络基础
    什么是网络我们现在生活中现在是不可缺少网络的,想象一下,没有了微信,没有了社交软件,没有了电话,没有了电脑,我们的社会也不会飞速发展到现在,网络在计算机这个专业,起到很大的作......
  • 第三章 字符串、向量和数组
    第三章字符串、向量和数组using声明使用某个命名空间:例如usingstd::cin表示使用命名空间std中的名字cin。头文件中不应该包含using声明。这样使用了该头文件的源码......
  • golang 数组
    1.概念golang中的数组是具有固定长度及相同数据类型的序列集合2.初始化数组var数组名[数组大小]数据类型packagemainimport"fmt"funcmain(){ //第一种 v......
  • 【算法】数组的前缀和 Prefix Sum
    算法中有前缀和这样一种很好的数据结构,它能极大地降低区间查询的时间复杂度前缀和-PrefixSum 它是这样的,假如有这样一个数组(序列), A=[a1,a2,a3,a4,a5,a6,......