【C语言】复习~数组和指针

数组和指针


1.字符指针

char*

使用方法一:

使用方法二:

这里本质上是把常量字符串的首地址放到了指针变量pstr里面

看下面的面试题

str3和str4指向的是同一个常量字符串,c/c++会把常量字符串存储到一个单独的内存区域,

当几个指针,指向同一个字符串的时候,他们实际上会指向同一块内存,但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块,所以str1和str2相同,str3和str4不同

2.指针数组

指针数组:存放指针的数组

3.数组指针

p1是指针数组

p2是数组指针

因为\[\]括号的优先级大于*号,所以p1是数组 而不是指针

&数组名VS数组名

在这里他俩打印的地址是一样的,但本质还是不一样的,再看下面

实际上,&arr表示的是数组的地址,而不是数组首元素的地址

本例中 &arr 的类型是: int(*)10 ,是一种数组指针类型

数组的地址+1,跳过整个数组的大小,所以 &arr+1 相对于 &arr 的差值是40

数组指针的使用


这里的int (*arr)5等价于 int35

4.函数指针

5.相关笔试题





















相关推荐
Sw1zzle1 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
青山木1 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
柒星栈1 小时前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
不会就选b2 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
勉灬之2 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
这是个栗子2 小时前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
啦啦啦啦啦zzzz2 小时前
算法:回溯算法
c++·算法·leetcode
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
会飞的小新2 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
Lzg_na2 小时前
订阅发布模块事例
c++