您的位置:

c语言可以定义多个指针么,c语言操作数必须是指针

本文目录一览:

C语言,声明两个指针

对的 这样写是代表两个指向整形的指针

比较简便的写法可以用 typedef定义

比如

typedef int* Int_P;

Int_P a,b;

c语言zhong怎样一次定义多个结构体指针变量

struct stu* head,p,q;

这样定义时是没问题的,但看你下面的用法,你应该是想将P和q也定义成指针,这样讲的话这样的定义就是不正确的,应该用struct stu* head,*p,*q;

struct stu* head,p,q;这样定义只是定义了一个指针head和两个结构体变量p和q

c语言指针能重复定义吗 比如int *p=a 在下面几行又int *p=b 可以吗 为什么

LZ的写法是不可以的,可以写成int *p=a;p=b;也就是可以改变指针的指向,前提是p不是常指针(指针本身是常量,众所周知,常量的值是不能改变的),也就是这么写“ int *const p=a;”,那就不能再“p=b;”即常指针指向不能再改变了

C语言指针定义

(1)指针变量定义的格式:

类型标识符 *变量名; 如:int *point;

注意:在定义int point;的时候 ,加粗部分的 不是取值符,而是修饰point是一个指针变量,如何确定point指向什么类型的变量呢,需要进行下一步:看非加粗部分,int则表示point指向int类型变量或保存int类型变量的地址。

(2)指针变量的初始化,先来看个实例:

说明:

表示该变量的类型是一个指针变量,指针变量名是p1而不是 p1;

如果在同一行定义多个指针变量应该是:int *p1, *p2;而不是int p1, p2或者 int p1, p2;

给指针变量初始化有两种方式:

在定义时初始化,如int *p_2 = b;

先定义再初始化,如int *p1; p1 = a;

*p1是p1所指向的变量的值;

一个指针变量只能指向同一个类型的变量。

(3)对于指针变量的两个运算符“*”与“”:

取地址运算符 //a就代表a的地址(指的是a所在内存空间的起始地址)