c语言指针设计,c语言指针设计思路

本文目录一览:

C语言程序设计 指针?

变量前面加代表取出这个变量的地址,又叫取址符

指针前面加*代表取出,指针所指向的内存里的数据(值),*又叫取值符

p是指针,n是变量

计算机解析代码是从右到左,所以

*n = *(n)

n代表取出n在内存中的地址,取址

*n,就是对n在取值

*n和n是等价的

所以下面的都是等价的

*p = *n

*p = n

p = n

就好比小明住在番茄花园

小明家的地址就是番茄花园

番茄花园里的值就是小明

n代表小明,

n就是小明的家(番茄花园)

*n就好比问小明的家里住着谁,答案依然是小明

就好比我老婆的老公还是我。

再来理解一下*p

p是一个指针,p就是一个地址

p就是番茄花园

*p就是再问,番茄花园里住着谁

就好比有一个人叫小壮的,想找小明聚聚,但是不知道小明家的地址,他就找来和小明最要好的朋友小强,通过小强的他给了你一个字条,上面写着小明的地址,这张字条就是指针,指针就是一个记录地址东东,如果哪天小明搬家了,这张字条也就作废了,所以指针指向的是一个内存地址,如果这个地址被释放了,这个指针也就作废了,因为指针就是一张带着地址的纸。

C语言程序设计指针

数组名和指针的功能类似 也是指向那个数组所在的内存。

*p[3] 是一个指针数组,把数组的第一个循环把 ch数组里的 每一行的地址存到 了P这个指针数组里,第二个循环打印出来这个地址里的值。

C语言中用指针设计,在一个数组中查找一个数,然后输出这个数在数组中第几位数?

#include stdio.h

#includestdlib.h

int searchPos(int arr[], int len, int e) {

for (int i = 0; i len; i++) {

if (arr[i] == e)

return i + 1;

}

return -1;

}

int main() {

int len, e, pos;

printf(“请输入数组长度:\n”);

scanf(“%d”, len);

int* arr = (int*)malloc(sizeof(int) * len);

printf(“请输入%d个数组元素:\n”,len);

for (int i = 0; i len; i++) {

scanf(“%d”, arr[i]);

}

printf(“请输入要查找的数:\n”);

scanf(“%d”, e);

pos = searchPos(arr, len, e);

printf(“要查找的数在第%d位。\n”, pos);

return 0;

}

c语言指针设计

#includestdio.h

int search(int*p,int n,int x)

{

 int i;

 for(i=0;in;i++)

  if(p[i]==x)

   break;

 if(!(in))

  return 11;

 else

  return i;

}

int main()

{

 int a[10],i,n,x;

 scanf(“%d”,n);

 for(i=0;in;i++)

  scanf(“%d”,a[i]);

 scanf(“%d”,x);

 if(search(a,n,x)==11)

  printf(“Not Found\n”);

 else

  printf(“下标为%d\n”,search(a,n,x));

 return 0;

}

C语言程序设计——指针

D

D

D

——错题,”12345″是常字符串,禁止被更改,会出运行时错误

D

B

B

C

D

C

设计一个程序(C语言 指针)

//DEV C 

#include stdio.h

#include stdlib.h

#include time.h

#include string.h

#define N 20

typedef struct

{

char name[10];

int age;

int sex;

int grade;

int nclass;

int room;

}INFO;

int main()

{

char* name1[20]={“张”,”王”,”李”,”赵”,”钱”,”孙”,”蒋”,”秦”,”任”,”刘”,”周”,”郑”,”吴”,”朱”,”许”,”何”,”吕”,”谢”,”方”,”叶”};

char* name2[20]={“子”,”欣”,”晨”,”紫”,”诗”,”梦”,”嘉”,”一”,”思”,”静”,”可”,”佳”,”心”,”梓”,”俊”,”明”,”浩”,”博”,”文”,”天”};

char* name3[20]={“轩”,”勇”,”涛”,”军”,”浩”,”豪”,”宇”,”俊”,”鸣”,”熙”,”文”,”国”,”佑”,”泽”,”然”,”杰”,”远”,”平”,”秋”,”飞”};

srand((unsigned)time(0));

INFO* s;

s=(INFO*)malloc(sizeof(INFO)*N);

int n,i;

for(i=0;iN;i++) //随机初始N个同学姓名年龄,性别,班级等数据

{

n=rand()%20;

strcpy(s[i].name,name1[n]);

n=rand()%20;

strcat(s[i].name,name2[n]);

n=rand()%20;

strcat(s[i].name,name3[n]);

//以上为随机生成姓名

s[i].age=rand()%3+16;

s[i].sex=rand()%2;

s[i].grade=rand()%3+1;

s[i].nclass=rand()%6+1;

s[i].room=100*(rand()%5+1)+rand()%20+1;

}

for(i=0;iN;i++)

{

printf(“%s %d岁 “,s[i].name,s[i].age);

if(s[i].sex==1)

{

printf(“男 “);

}

else

{

printf(“女 “);

}

printf(“%d年级%d班 %d室\n”,s[i].grade,s[i].nclass,s[i].room);

}

char ch[50];

int find;

while(1)

{

find=0;

memset(ch,’\0′,50);

printf(“\n请输入要查询的姓名: “);

fflush(stdin);

scanf(“%s”,ch);

for(i=0;iN;i++)

{

if(strcmp(s[i].name,ch)==0)

{

find=1;

printf(“%s %d岁 “,s[i].name,s[i].age);

if(s[i].sex==1)

{

printf(“男 “);

}

else

{

printf(“女 “);

}

printf(“%d年级%d班 %d室\n”,s[i].grade,s[i].nclass,s[i].room);

break;

}

}

if(find==0)

{

printf(“\n未找到!”);

}

}

return 0;

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/296205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-27 12:58
下一篇 2024-12-27 12:58

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • 指针Python:为什么Python中不需要使用指针?

    在Python中,指针的使用不像其他语言一样那么常见。这是因为Python有自己的内存管理方式,所以在大多数情况下,不需要显式地使用指针。那么,为什么Python中不需要使用指针呢…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • 枚举法例题及解题思路

    本文将从例题和解题思路两个方面阐述枚举法,帮助读者更好地理解和掌握该算法。 一、基本概念 枚举法,英文名为Brute Force,也叫暴力枚举法,是一种计算机算法,它通过穷举所有可…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • 优秀周记1000字的撰写思路与技巧

    优秀周记是每个编程开发工程师记录自己工作生活的最佳方式之一。本篇文章将从周记的重要性、撰写思路、撰写技巧以及周记的示例代码等角度进行阐述。 一、周记的重要性 作为一名编程开发工程师…

    编程 2025-04-28

发表回复

登录后才能评论