首页 > 编程语言 >C++编程中遇到的问题

C++编程中遇到的问题

时间:2023-02-07 21:47:22浏览次数:39  
标签:函数 遇到 编程 C++ 数组 指针

  1. 函数中无法通过sizeof运算得到数组的大小及维数,因为,数组形参实际上是指针类型。
#include <iostream>
using namespace std;

// 数组作为参数时,退化为简单的指针
void getArrSize(int* arr)
{
	cout << "sizeof(arr): " << sizeof(arr) << endl;
	cout << "sizeof(*arr): " << sizeof(*arr) << endl;
}

int main()
{

	int a[4] = { 0,1,2,3 };
    int *pa = a; // 也只是简单的指针,和a不一样

	cout << "sizeof(a): " << sizeof(a) << endl;
	cout << "sizeof(*a): " << sizeof(*a) << endl;

	getArrSize(a);

	return 0;
}

输出结果:
因此,无法在函数体内计算数组的大小。

标签:函数,遇到,编程,C++,数组,指针
From: https://www.cnblogs.com/ddqdd/p/17099890.html

相关文章

  • C++ Day14 借助智能指针实现文本查询查询
    一、设计思路数据结构:1、读取文件时,要记住文件的每一行,并且要将每一行分解为独立的单词vector<string>vec;istringstream2、输出时提供每个单词与其关联的行号,且......
  • Linux编程入门
    GCCGNU编译器'-std=c99'表示指定编译标准安装sudoaptinstallgccg++查看版本gcc/g++-v/--version运行gcctest.c-oapp(编译)./app其中,app为自命名,可......
  • Linux下线程编程(1)
    1.线程简介  线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可......
  • C++中的值类别与模板推导
    C++中表达式的值类别C++中的表达式有两个属性,分别是值类型和值类别,本篇文章着重于表达式的值类别。C++中表达式的值类别分为以下几种泛左值(glvalue,generalizedlvalue):这......
  • 高级Excel图表教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介高级Excel图表初学者教程-从基本到高级概念的简单简单步骤学习高级Excel图表,包括简介,瀑布,乐队,甘特,温度计,仪表,子弹,漏斗,华夫饼干,踏板,盒子和晶须,帕累托,组织结构图,热......
  • Amazon RDS 教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介AmazonRDS初学者教程-从基本到高级概念的简单简单步骤学习AmazonRDS,其中包括概述,环境,接口,数据库实例,数据库存储,MSSQL功能,MSSQL创建数据库,MSSQL连接到数据库......
  • c++常用知识点复盘
    、Linux内存管理机制内存全貌图:  Linux内存分为用户态和内核态两种,以32位4G的Linux内存为例进行说明,其区别如下:用户态:Ring3运行于用户态的代码......
  • 【C++复习】模板与群体数据(2)
    学习重点:容器类型内部的实现机制,顺便复习前面各章内容。容器类型的具体实现不需要特别关注(目前不需要会裸手写这么一个容器类型)1、群体/线性群体群体的概念群体是指由......
  • CICS教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介CICS快速指南-从CICS概述,环境,基本术语,Nucleus,事务,COBOL基础知识,BMS,MAP,接口块,伪编程,辅助密钥,文件处理,错误处理,控制操作,简单而简单的步骤学习CICS临时存储,互通,状......
  • 【八大数据排序法】基数排序法的图形理解和案例实现 | C++
    第二十章基数排序法:::hljs-center目录第二十章基数排序法●前言●认识排序●一、基数排序法是什么?1.简要介绍2.图形理解3.算法分析●二、案例实现1.......