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/zh-hant/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

發表回復

登錄後才能評論