【C语言】指针的指针

指向指针的指针

  1. 不用管名字是怎样,抓住关键词,还是个指针。
  2. 只不过前面多了个定语是指向指针的。
  3. 指针本身是个地址,现在它指向的位置是变量的地址。
  4. 普通指针呢,是个地址,只不过指向的位置是一个变量本身。

举个栗子:

每个人都有一个物理地址,就是我们实际居住的地方。想一下网上购物,需要填写的那个送货地址,那就相当于一个指针,指向我们的地址。知道地址了,就可以查到我们是谁。知道我们在哪儿了,就可以直接获取相应的地址。

所以使用起来:地址=&人;相应的,人=*地址

那么指针的指针呢,送货地址,也是数据的一种,看作一个单位。也需要一个位置来存储,虽然可能是在我们的脑子中,也可能在手机收货地址中,总之得一个地方存储。

所以,地址2就是一个指针的指针:地址2=&地址地址=*地址2人=*地址=**地址2

cpp 复制代码
#include <stdio.h>
#include <string.h>
/*	功能:指针的指针 
	时间:2024年10月 
	地点:贤者楼129 
	作者:LChen
*/

int sort(char **p){				// 冒泡法对5个字符串排序函数
	int i,j;
	char *temp;					// 交换的中间变量 
	for(i=0;i<5;i++)
		for(j=i+1;j<5;j++)
			if(strcmp(*(p+i),*(p+j))>0){	// 头文件string.h中的字符串比较函数
				temp=*(p+i);				// 提出字符串地址,用+i+j来选择不同串 
				*(p+i)=*(p+j);				// 交换字符串地址
				*(p+j)=temp;
			}
	return 0;
}

int main() {
	
	int i;
	char **p,*pstr[5];
	char str[5][20];			// 存储字符串数据
	
	//输入数据 
	for(i=0;i<5;i++)			//将第i个字符串的首地址赋予指针数组 pstr的第i个元素
		pstr[i]=str[i];   		// 行指针 
	printf("input 5 strings:\n");
	for(i=0;i<5;i++)
		scanf("%s",pstr[i]);
	p=pstr;
	
	// 数据处理:排序 
	sort(p);
	
	// 输出数据 
	printf("strings sorted:\n");
	for (i=0;i<5;i++)
		printf("%s\n",pstr[i]);
	return 0;
}
相关推荐
海兰3 小时前
【 Python 量化交易】第3章:金融基础概念
开发语言·python·金融
一木 之林3 小时前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
吴声子夜歌3 小时前
Java——类、对象及方法(一)
java·开发语言
阿里嘎多学长3 小时前
2026-08-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
এ慕ོ冬℘゜3 小时前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
2601_966949654 小时前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
小吴学不废Java4 小时前
Python 基础语法
开发语言·python
布莱克6054 小时前
队列详解:定义、分类、应用场景及与栈的区别(C/C++ 代码讲解)
c语言·开发语言·c++·队列
CPETW4 小时前
USB TO I2C_(Excel)_Scan ---- 1000KHz总线速率测试_A
c语言·开发语言·网络·科技·单片机
Navigator_Z4 小时前
LeetCode //C - 1221. Split a String in Balanced Strings
c语言·算法·leetcode