指针变量学习笔记(2)和结构体类型引入

本文详细介绍了指针在C语言中的使用,包括一元数组的指针表示、二维数组的构成、字符串指针、函数指针、数组指针、指针数组以及变量引用的概念,还涉及了结构体和用户自定义数据类型的讨论。
摘要由CSDN通过智能技术生成

一  二元数组怎样用指针表示?

**p  1

*p[n]  2

 关于1,*p是对p指针的一级定义,前面再加个星号,则是把p指针再做为一个指针变量的值,**p是p指针的指针。在数组中,*p是一维数组(可以理解为数组的一行),而这许多行又是许多个指针,这是可在前面再加个星号,表示这许多个一维数组又组成一个一维数组,即构成二维数组,而2就是对这个表示方法的详细展示。

从而

p=&a[0][0]

表示第一行第一个数 

p=&a[0]

表示第一行的所有数 

二 一个小细节

p++    1

p+1    2

 关于1,是a[0][0],a[0][1],a[0][2]……

关于2,是a[0],a[1],a[2],a[3]……

这个在for循环中有用

三  字符串指针变量(字符指针指向一个字符串)

数组形式

char * name[ ];

 字符串变量形式

char * str="good";

 要注意的是,对于字符串指针变量,char *p表示第一个字符,char **p表示第一个字符的第一个字母。

四 函数的指针

int(*p) (int, int);

……

p=max;

 这是一个指针,它可以指向所有二元函数,但他返回的是一个整型值。

五 指针函数

int *p (int,int);

这是一个函数,但他的不一般在于它返回的是一个指针。 

六 数组的指针(二维数组)

int (*p) [4];

前面已经写过,是许多一维数组的指针 。

七 指针数组

int *p[4];

这是一个数组,但它的不一般在于它的所有 元素是指向整形数据的指针。

(有括号则表示强调这是一个指针)

八 变量的引用

通俗说,就是给变量一个别名,而且是一对一,即别名唯一对应一个变量,且二者变化同步

int a;

int&b=a;

 b的值改变,a的值也随之改变。&是引用声明符。

注意 只能引用变量,且引用只有声明,没有定义。

这个语法在函数形参和实参的运用中有用;

void sort(int&,int&,int&);//声明

int a,b,c;

……

}

 void sort(int &i,int &j,int &k)

{

}

在这里,形参就是实参的引用,形参变化 ,实参也会跟着变化。

九 用户自定义数据类型

什么是结构?

结构是信息的有价值组合

结构是数据的有机组合。

(1)结构体类型

类似定义变量

int a;

struct Student;//自定义结构体变量

 变量类型和变量名称之间是抽象和具象的关系

当然,这个数据结构有许多成员,叫做域,

struct Student

{

char name;

char sex;//这里面的所有成员构成域表

……

};//这里要加分号,在后面可直接加变量名称 student1,student2;

即在声明类型同时定义变量。

自己的一点体会,还望各位大佬指正。 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值