首页 > 其他分享 >【C语言】数组指针

【C语言】数组指针

时间:2023-10-17 23:02:03浏览次数:33  
标签:int C语言 pz 数组 printf 指针

【C语言】数组指针

顾名思义,数组指针是指向数组的指针。
例如,p是一个指向含有3个int元素的一维数组的指针:

int (*p)[3];            //圆括号的优先级更高,让p先与*结合再与[]结合

用法:

#include <stdio.h>

// void display1(int p[][3])            //等价下行写法
void display1(int (*p)[3])
{
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", *(*(p + i) + j));
            // printf("%d ", p[i][j]);
        }
        printf("\n");
    }
}

int main(void)
{
    
    int zippo[2][3] = {{1, 1, 4}, {5, 1, 4}};
    int (*pz)[3] = zippo;            //int (*pz)[3]是一个指向含有3个int元素的一维数组的指针。
    display1(pz);
    printf("pz = %p\n", pz);
    printf("pz + 1 = %p\n", pz + 1);    //和pz相差12个字节,即3个int的大小。

    return 0;
}

标签:int,C语言,pz,数组,printf,指针
From: https://www.cnblogs.com/codels/p/17770937.html

相关文章

  • 26. 删除有序数组中的重复项
    目录1.题目法一、双指针法二、利用集合的去重特性1.题目给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。示例1:输入:nums=[1,1,2]输出:2,......
  • 数组问题技巧学习指南
    前置芝士求解两个有序数组的第K小乘积先统计分负数乘积个数neg、正数乘积个数pos以及乘积为0的个数zero,然后分三种情况讨论:k≤negk,我们可以二分负数答案,统计不超过二分值的乘积个数;neg<k≤neg+zero,此时返回0;k>neg+zero,我们可以二分正数答案,统计不超过二分值的乘积个数。......
  • 初入c语言学习
        hello,我是一名大一新生,2023/8/1开始在视频上跟着学习c语言。回顾前两个月,我对c语言的认识已经不停留在一门高深莫测的技术,也让我逐渐清晰自己想要什么,当然,与此相对应的就是付出比在暑假期间更多学习时间的决心。    在学习前,因对c语言认识有限,或者说对计算机这......
  • Day2 数组训练
    Day2数组的一些基本练习前一阵子生病了,把这几天落下来的内容慢慢补第一题有序数组的平方Lc977给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。//使用双指针的思想完成此题,一开始我想的是直接暴力解,这有什么难的......
  • C语言-水仙花数
    计算100-1000内的水仙花#include<stdio.h>//水仙花数boolshuixianhua(intnum); intmain(){ inti; for(i=100;i<1000;i++){ if(shuixianhua(i)==1){ printf("%disashuixianhuanum.\n",i); } } return0; }boolshuixianhua(in......
  • C语言判断字符串为空
    一、字符串的定义方式1:使用一个字符数组来存储一个字符串charstr_array[LEN];方式2:malloc一段内存来存储一个字符串char*str_ptr=(char*)malloc(LEN*sizeof(char)); 二、初始化定义了数组或字符指针之后,需要做一个初始化,否则里面将是随机值,以后将无法判断改......
  • C语言二分法
    ////main.c//BinarySearch////Createdbystevexiaohuzhaoon2023/10/16.//#include<stdio.h>//二分法查找指定元素在数组中出现的索引位置intBinarySearch(int*array,intlength,intk){intleft,right,mid,NotFound=-1;//设置......
  • C语言-从键盘输入字符直到#结束,并将字符写入文件
    C语言-从键盘输入字符直到#结束,并将字符写入文件#include<stdio.h>#include<stdlib.h>intmain(){ FILE*fp=NULL; charfilename[25]; charch; printf("inputsavedfilename:\n"); gets(filename);//从键盘输入字符串,与scanf功能类似,其原型是char*gets(char*str)......
  • c++数组的二进制文件读写
    #include<fstream>//forifstream、ofstreamtemplate<typenameOB>inlinevoidsaveObject(constchar*filename,OB&object,intlength)//传入要保存的对象引用{std::ofstreamosm(filename,std::ios::out|std::ios::binary);osm.write((constcha......
  • C语言-将两个文件中的字符串拼接在一起写入第三个文件中
    C语言-将两个文件中的字符串拼接在一起写入第三个文件中步骤1.先创建两个文件A.txt和B.txt,分别写入123,456步骤2.编写程序#include<stdio.h>#include<stdlib.h>#include<string.h>//将A.txt和B.txt中的字符串拼接,放入C.txt中intmain(){ FILE*fa,*fb,*fc; inti,j,......