`
mmdev
  • 浏览: 13169494 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

[C Tips] 数组名一定代表指向数组第一个元素的指针--------吗?

阅读更多
无数的教科书都几乎没有严肃认真的面对这个问题。数组名就一定代表指向数组第一个元素的指针吗?猜猜下面的代码输出是怎么样的:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->charga[]="abcdefghijklm";

voidmy_array_func(charca[10]){
printf(
"addressofarrayparam=%#x\n",&ca);
printf(
"addressofca[0]=%#x\n",&ca[0]);
printf(
"addressofca[1]=%#x\n",&ca[1]);
printf(
"++ca=%#x\n\n",++ca);
}


voidmy_pointer_func(char*pa){
printf(
"addressofptrparam=%#x\n",&pa);
printf(
"addressofpa[0]=%#x\n",&pa[0]);
printf(
"addressofpa[1]=%#x\n",&pa[1]);
printf(
"++pa=%#x\n\n",++pa);
}


intmain()
{
printf(
"addressofglobalarray=%#x\n",&ga);
printf(
"addressofga[0]=%#x\n",&ga[0]);
printf(
"addressofga[1]=%#x\n\n",&ga[1]);
my_array_func(ga);
my_pointer_func(ga);

system(
"PAUSE");
return0;
}
如果你发现结果数组参数和数组参数第一个元素的地址不一样,不要太吃惊,请在两个my_func里面打印看看*(&ca)*(&pa)的内容看看。如果你在此时用sizeof看看参数数组的大小你会更吃惊的,自己试试吧;-)
分享到:
评论

相关推荐

    【C语言指针】深入浅出:指针与取值、数组、函数; 详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配

    详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配 个人总结要点: 本质: 地址要用指针来存储,指针是用来存储地址的!!! 重难点: 指针指向的地址,也就是指针存储的地址!!...

    objccn-swifter-tips.pdf

    14. 选择器(Selector):在Swift中,选择器用于与Objective-C的消息传递系统交互,它代表了一个方法名。 15. @UIApplicationMain属性:这个属性用于标记应用程序的入口点,指定一个包含main方法的类。 16. @objc...

    objccn-swifter-tips-swift4最新版

    《Swift4最新版ObjCCN-Swifter-Tips深度解析》 Swift,作为Apple公司推出的一种强大且安全的编程语言,被广泛应用于iOS、macOS、watchOS以及tvOS的开发。随着技术的不断发展,Swift4版本的发布带来了许多新特性和...

    D3-Tips-and-Tricks

    D3-Tips-and-Tricks-Latest.pdf 最新版D3.js技法与教程,使用D3引擎进行前端数据可视化,一步一步学习D3的可视化编程

    SWIFTER-100个Swift必备Tips(第四版)(epub+pdf+playground)

    很多 Swift 的学习者 -- 包括新接触 Cocoa/Cocoa Touch 开发的朋友,以及之前就使用 Objective-C 的朋友 -- 所共同面临的一个问题是,入门以后应该如何进一步提高。也许你也有过这样的感受:在阅读完 Apple 的教程后...

    KTH-TIPS 纹理材质数据.zip

    KTH-TIPS纹理材质数据集,作为一个广泛使用的资源库,为研究者和开发者提供了丰富的素材,以进行纹理识别、材质属性分析以及计算机视觉相关领域的研究。本文将详细介绍该数据集的内容、特点以及其在相关领域的应用。...

    kth-tips灰度纹理数据集

    每个子文件夹代表一个纹理类别,内部存储了该类别的所有图像。MATLAB提供了强大的图像处理和机器学习工具箱,可以方便地读取、预处理、特征提取以及训练分类模型。 在预处理阶段,通常会执行图像的归一化、尺寸调整...

    Android-android-tips-tricks.zip

    Android-android-tips-tricks.zip,[备忘]android开发的技巧,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    grub4dos-V0.4.6a-2017-02-04更新

    n: 1-9 或 01-99 或 001-999。 3.增加固定图像的背景色可以透明。 splashimage [--offset=[type]=[x]=[y]] FILE 类型[type]:bit 7: 透明背景 2016-02-14(yaya) setmenu 函数增加菜单项目背景短/满参数(默认...

    css3-text-bubble-tips.zip

    在Web开发中,文本气泡通常用于创建提示、通知或者对话框,它们通常有一个指向相关元素的箭头。CSS3是CSS(层叠样式表)的第三个主要版本,它引入了许多新的特性和功能,使网页设计更加丰富和动态。 在CSS3中,创建...

    Swifter - 100 个 Swift 必备 tips(免费)

    在探讨《Swifter - 100个Swift必备tips》这本书所涵盖的知识点之前,需要明确,本书主要面向那些对Swift语言有一定基础,希望进一步提升编程技巧和理解Swift深层次特性的读者。从书名和描述中可以提炼出以下几个重点...

    Swifter-100个tips-2018年6月

    根据提供的文件信息,以下是关于“Swifter-100个tips-2018年6月”相关知识点的详细说明: 1. Swift 新元素:Swift 语言自发布以来,不断有新的特性加入,这些新元素可能是语言设计的优化、新语法的引入或者新库的...

    Swifter 100 个 swift 必备 tips

    - **知识点概述**:在 Objective-C 和 Swift 中,`selector` 是一个非常重要的概念,用于指向一个特定的方法或者函数。在 Swift 中,我们可以利用 `selector` 来实现动态方法调用等功能。 - **应用场景**: - **...

    2021-2022计算机二级等级考试试题及答案No.15430.docx

    定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组——正确。 - D. 定义了基类型为int的具有三个元素的整型数组——错误。 - **正确答案**: C ### 19. Tomcat服务器端口号 - **知识点**: ...

    纹理图像分类数据集KTH-TIPS

    纹理图像分类数据集,KTH-TIPS数据集,包含orange-peel、bread等10类纹理图像

Global site tag (gtag.js) - Google Analytics