C语言指针如何使用(c语言,开发技术)

时间:2024-05-02 12:42:13 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    C%E8%AF%AD%E8%A8%80%E6%8C%87%E9%92%88%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8

C语言中指针也可以认为是一种类型,不同于数值型和字符型的类型。推演过去指针变量也就是相当于不同的变量类型,不同于数值变量、字符型变量、字符串变量。

指针变量两种类型:自身类型和指向的类型

自身类型:将变量名去掉,剩下的就是指针变量类型。

指向类型:将变量名和离它最近的一个*去掉,剩下的类型就是指针指向的类型

如代码中 指针变量的自身类型是 int * 型;指向类型是 int 型。

自身类型是指变量p本身的类型,变量p中放的是地址内容,地址指向的是放整型的数据,为什么需要说是指向整型的地址呢?因为不同类型数据占据的不同大小的一整块内存,整型是一个占4字节大小的一个整体内存,字符型是一个占2个字节大小的一个整体内存,编译器不会把它们拆分开。如定义了一个int型变量,它的地址是0x7fffffff00,紧接着马上定义一个char型变量,他的地址就直接到了0x7fffffff04。从0x7fffffff00 ~ 0x7fffffff04中间不会再被分开了放int型数据,0x7fffffff04 ~ 0x7fffffff06中间不分开放char型数据。

所以 自身类型 是基本类型 + *组合而成,虽然里面放的都是地址,但是地址指向的一整块内容是有区别的。

指向类型 是指 指针变量中放置的地址是指向的内容类型。

这是一个二级指针,指向的类型是int*,说明变量pp指向的是指针类型的数据。

代码1

代码2

数值型指针: int* p;

如:

字符型指针可以分为指针指向的是单字符还是字符数组两种

字符型指针: char* p;

这里需要注意需要用 占位符 %c 去承接内容(或者说显示内容)

字符型指针:char* p;

这里需要注意字符数组末尾需要加‘\0’字符表示字符数组结束,或者编译器自己会自动加上,所以在定义字符数组长度时需要加+1。

注意 字符数组名既可以表示地址也可以表示整个字符数组的内容,而不是第一个字符。相应的指针也是整个字符数组的内容。

以上两行代码可以编译过但是不能显示内容,需要用占位符%s去承接整个字符数组内容。

字符型指针:char* p;

如代码中结果显示所示,字符串数组名即是地址,同时也是数组内容,根据占位符的不同显示不同内容,占位符为%s时显示字符串,%#lx显示地址。同样的对于赋值给的指针变量也具有同样的功能。

但是如果这里

本文:C语言指针如何使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:php如何去掉数组前一个元素下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18