指针数组



1、指针:指针是用来存放地址的变量,称之位指针变量,简称指针。

简单案例:

注意*p前面的类型决定了取地址的能力。如果是int类型的,就说明在32平台下可以取址能力是4个字节。

2、指针的本质就是保存一个地址,在32位的系统上,所有程序的内存地址都用4个字节表示,所以不管是什么类型的指针。指针大小都占4个字节。

‘*’称之为间接引用,表示根据指针变量里保存的地址值,去这个地址里去取数据。能取几个字节取决于此地址变量的定义类型。

指针定义

sizeof(p)

sizeof(*p)   

char *p1

4

1

short *p2

4

2

int *p3

4

4

3、Linux下查看文档可以使用  

man strlen(以strlen为例)

man 2 strlen

men 3 strlen

        通过这种方法可以茶渣到所属的头文件。

4、如果一个数组arr[]

这时候如如果有void intt_array(int *arr,int n)时,它的值等价于(intarr[],int
n)

其中   arr[3] = 5;     
等价于         *(arr + 3) = 3;

5、得到100以内的随机数可以通过:rand()%100;  1000的  rand()%1000;

6、求数组的大小,长度,逐个输出字符串。截图:

strlen():求有效字符串的长度。

7、字符串中的传值和传址,

可以实现值转换的代码:

8、对数组地址求大小和求数组的长度



时间: 2024-08-01 01:25:01

指针数组的相关文章

指针数组与数组指针

指针是用来存放另外一个变量的地址的变量.C语言中,指针被广泛使用.有时是因为非用不可,有时是因为它能让代码更紧凑,更高效.指针也是一个定时炸弹,稍有不慎会导致程序崩溃.另外,指针乱飞也会影响程序的可读性.指针和数组关系密切,基本上能用数组的地方,都可以用指针来实现. 最近在搞GPS和SMS的解析程序,里面主要涉及字符串的解析,如GPS的GPRMC语句的解析,自定义的SMS控制指令的解析,用二维字符数组是可以解决的,但效果比用指针数组差很多,执行效率低和内存使用大.有点吃苦不讨好的意思.下面简单对

指针数组(二)

[例6-25] 对已排好序的字符指针数组进行指定字符串的查找.字符串按字典顺序排列,查找算法采用二分法,或称为折半查找.折半查找算法描述: 1.设按开序(或降序)输入n个字符串到一个指针数组. 2.设low指向指针数组的低端,high指向指针数组的高端,mid=(low+high)/2 3.测试mid所指的字符串,是否为要找的字符串. 4.若按字典顺序,mid所指的字符串大于要查找的串,表示被查字符串在low和mid之间,否则,表示被查字符串在mid和high之间. 5.修改low式high的值

指针数组(一)

前面介绍了指向不同类型变量的指针的定义和使用,我们可以让指针指向某类变量,并替代该变量在程序中使用:我们也可以让指针指向一维.二维数组或字符数组,来替代这些数组在程序中使用,给我们在编程时带来许多方便. 下面我们定义一种特殊的数组,这类数组存放的全部是指针,分别用于指向某类的变量,以替代这些变量在程序中的使用,增加灵活性.指针数组定义形式: 类型标识 *数组名[数组长度] 例如: char *str[4]; 由于[ ] 比*优先权高,所以首先是数组形式str[4 ],然后才是与"*"的

C/C++中字符指针数组及指向指针的指针的含义

就指向指针的指针,很早以前在说指针的时候说过,但后来发现很多人还是比较难以理解,这一次我们再次仔细说一说指向指针的指针. 先看下面的代码,注意看代码中的注解: #include <iostream>#include <string>using namespace std; void print_char(char* array[],int len);//函数原形声明void main(void){//-----------------------------段1----------

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+   指针数组: 在一个数组中,如果它的元素全部都是指针

c语言-关于C语言 指针数组的小问题

问题描述 关于C语言 指针数组的小问题 指针数组赋值(字符串)后,可以单独引用某一个字符串中的第X个字符(单个字符)吗?输出必须用%s 不能用%c ?? 解决方案 楼主是要这种吗? char *str[3] = {"skjf", "sd", "askjfssf"}; printf("%cn", str[0][3]); //打印出f printf("%cn", *(str[2] + 3));//打印出j 解决

C++中的指针、数组指针与指针数组、函数指针与指针函数

C++中的指针.数组指针与指针数组.函数指针与指针函数 本文从初学者的角度,深入浅出地详解什么是指针.如何使用指针.如何定义指针.如何定义数组指针和函数指针,并给出对应的实例演示:接着,区别了数组指针与指针数组.函数指针与指针函数:最后,对最常混淆的引用传递.值传递和指针传递做了区处. C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力.指针可以用于数组.或作为函数的参数,用来访问内存和对内存的操作,指针的使用使得C++很高效,但是指针也非常危险,使用不当会带来比较

struct-关于C语言结构体指针数组的问题

问题描述 关于C语言结构体指针数组的问题 //结构体struct student{ int iNum; char cName[16]; float fChineseScore; float fMathScore; float fEnglishScore;};typedef struct student STUDENT;//输入void InputTranscript(STUDENT MyClass[] int num){ int i; printf(""请输入学生的成绩信息:n&quo

c语言-关于字符型指针数组的理解问题

问题描述 关于字符型指针数组的理解问题 #include<stdio.h> main() { char *name[]={"zhang","gou","xu","zheng","mao","zhao","li","bai","qing"}; printf("%s ",*name[1]); } 此时

c语言指针数组 字符串-C语言指针数组查找问题

问题描述 C语言指针数组查找问题 #include#includevoid main(){ void input(char name[]int n); void sort(char *name[]int n); void print(char *name[]int n); void search(char *name[]int n); char *name[4]; int n=4; input(namen); sort(namen); print(namen); search(namen);}v