yhkn.net
当前位置:首页 >> C语言,如何用指针变量实现啊? >>

C语言,如何用指针变量实现啊?

用C语言指针实现字符串逆序及回文串的判定 口裴晓英(新疆兵团高等专科学校新疆鸟鲁木齐831300) 摘要:字符串逆序输出是C语言经典算法之一,过去利用数组下标处理此类问题,较为繁琐,本文给出 了利用指针实现任意给定字符串的

int _integer = 0; int * _pinteger = &_integer; //&为求地址运算符, 指针用来保存一些变量的地址 可以这样访问(*_pinteger) 得到 _pinteger这个整形指针里面的值0;建议看相关的书,难懂的东西才有意义

刚才写错了,我按照上面那位大哥的方法改变指针指向写了一个,我也是初学者.不好意思,多多指教#include <stdio.h>#include <cstdlib> int main(){ int num1; int num2; int* p1=&num1; int *p2=&num2; printf("请输入第一个数字:"); scanf

1. C语言中有两种非常有用的运算符++和--,分别称为递增和递减运算符,对变量执行加1或减1操作,且运算结果仍赋给该变量.递增、递减运算符和负号一样都是单目运算符,统称单项算术运算符.2. 指针变量本身储存的是物理地址.使用*运算符可以取得该物理地址对应的值.连续使用两个*,就可以操作指向指针的指针变量.例如:printf("%d",(*(*p1))++); printf("%d",++(*(*p2)));

void fun(char *p) { char a[50]; int i,n=strlen(p); /* 应该获取p的字符串长度 */ /* 下面这一段没必要 后面的for用的就是p+n-1 指定了字符串p的最后一个字符位置 */ /*while(*p!='\0') { p++; n+=1; } p--;*/ for(i=0;i<=n-1;i++) a[i]=*(p+n-1-i); a[i] = '\0'; /* p=a; 不能用=,a是一个函数局部变量,出了这个函数其内存空间就不存在; 再个p是个指针变量,对其赋值不会影响到函数外的那个变量;应该用字符串拷贝 */ strcpy(p, a); }

指针变量是一个存地址的变量,赋值是只能传地址(跟int型只能赋值整型一样的)

#include<stdio.h> void even(int num1,int num2) { int *pint = &num1; while(*pint < num2+1) { if(num1%2==0) { printf("%d ",*pint); } num1++; } } void main() { int n1,n2; printf("请输入区间的下限: "); scanf("%d",&n1); printf("\n请输入区间的上限:"); scanf("%d",&n2); printf("从 %d 到 %d 之间的偶数有: \n",n1,n2); even(n1,n2); }

如果是在定义变量时候加在前面,意思是这个变量是指针变量,如 char *a; 如果是在访问变量的时候加在前面,意思是取这个地址中指向的值,如 char b=*a; 上面定义了a是一个字符指针,这里把指针指向的值取出来赋给b.简单的理解,就是你看它是在哪里使用,是在定义变量的时候使用呢,还是在访问变量的时候使用.

1、使用场景 使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:#include#include int main(int argc, char const *argv[]) { int a[5]={0,1,2,3,4}; int *b,*d; int c=2; int *e=a; //e指向a数组首地址//*b=2; 无法直接初始化//

指针变量 的值是一个地址,指向一个内存单元 即分配给某变量的地址. 可以通过地址引用(指针)的方式访问 某个内存单元(变量)

ddgw.net | xcxd.net | ncry.net | pznk.net | wlbx.net | 网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com