lazarus研究-C指针和PASCAL指针

本文深入探讨了C语言中的指针概念及其与PASCAL指针的差异。通过实例分析,解释了C指针的灵活性以及PASCAL指针的静态特性。同时,对比了两者在字符串处理上的不同操作方式,帮助读者更好地理解和应用这两种编程语言的指针机制。
摘要由CSDN通过智能技术生成
一、C与PASCAL指针基本操作等价表
序号 情景 C语言 等价的pascal 说明
1 类型指针的定义 char *charptr ; var charprt : ^char ;
int *intptr ; var intptr : ^integer ;
2 无类型指针的定义 void *p ; p:Pointer;
3 指针的解除引用 (*p) P^ 要解除指针引用(即取出指针所指区域的值)
4 取地址 intptr=& i ; intptr:=@i ; 取某对象的地址并将其赋值给指针变量
5 指针运算 intptr++ ; inc(intptr) ; 编译器会产生让intptr前进sizeof(integer)步长的代码
intptr+=2 ; inc(intptr,2) ;
6 动态内存分配 intptr=(int *) malloc(sizeof(int) * 20) ; GetMem(intptr, sizeof(integer)*20); 分配20个整型变量空间
free(intptr) ; freeMem(intptr) ; 释放分配的空间
二、字符数组的运算
C没有字符串类型,以字符数组方式来处理字符串,于是有一套str开头的库函数
char str[15];
char *pstr;
strcpy(str, "hello world");
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值