【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]等价于 int[3][5]

4.函数指针

5.相关笔试题





















相关推荐
Eiceblue1 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
tan180°1 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
m0_555762902 小时前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
学不动CV了2 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
浪裡遊2 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
好好研究3 小时前
学习栈和队列的插入和删除操作
数据结构·学习
彭祥.3 小时前
Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类
c++·opencv·分类
lzb_kkk3 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
YuTaoShao3 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
好开心啊没烦恼3 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy