本文目录一览:
- 1、C语言,声明两个指针
- 2、c语言zhong怎样一次定义多个结构体指针变量
- 3、c语言指针能重复定义吗 比如int *p=a 在下面几行又int *p=b 可以吗 为什么
- 4、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所在内存空间的起始地址)