![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
记录C语言的神奇之旅
暮的秋歌
一名嵌入式开发工程师,熟悉stm32, linux
展开
-
当extern遇到数组时的报错
数组名代表了存放该数组的那块内存,它是这块内存的首地址。这就说明了数组名是一个地址,而且,还是一个不可修改的常量,完整地说,就是一个地址常量。数组名跟枚举常量一样,都属于符号常量。数组名这个符号,就代表了那块内存的首地址。不是数组名这个符号的值是那块内存的首地址,而是数组名这个符号本身就代表了首地址这个地址值,它就是这个地址。这就是数组名属于符号常量的意义所在。由于数组名是一种符号常量,它是一个右值,而指针,作为变量,却是一个左值,一个右值永远都不是左值,那么,数组名永远都不会是指针!原创 2024-03-11 21:56:31 · 348 阅读 · 0 评论 -
sizeof遇到的细节问题
今天在写代码时,要获取一个字符串的长度 ,代码如下,sizeof(*p)的结果是1,百思不得其解,后来想到p是字符串数组的第一个元素的地址,*p居然是取得第一个元素。最后*data输出为104,即h的ASCII码。原创 2024-03-11 21:45:24 · 327 阅读 · 0 评论