C語言中指標控制迴圈的問題

2025-03-11 04:00:22 字數 2983 閱讀 4369

1樓:網友

在student *stu1中,stu1是一級指標,指向節點的位址,在student **stu1中,stud1是二級指標,指向的是student型指標變悄好量的位址。你可以這麼理解指標:

student stu1;

student *stu;

student *class[n];

student **group;

假入某個班級的學生節點構成了乙個線形表a,而多個班級構成了多個線形表啟基鉛,那麼,stu指標能夠指向a中的節點的位址;而group儲存的是如stu一級指標變數自身的位址;下列賦值是正確的。

stu = stu1;

stu = class[0]; 或者鋒鋒class[0] =stu;

group = class;

group = stu;

typedef struct student{int number;

int *score;

char *name;

student;

typedef stuct class{

int class_num;

char *class_nam;

student *stu;

class;

typedef stuct group{

int group_num;

char *group_nam;

class *cla;

group;

student stu1;

class calss1;

group group1;

stu1; /儲存的是stu1的位址;

class1; / 儲存的是class1的位址。

這麼解釋明白了不?

c語言關於指標for迴圈疑問

2樓:網友

因為int *型別的指標如果加1,在位址上式+4的,比如你定義了乙個陣列int a[5] = ;

這裡你int *p = a;

那麼 p 就是a[0]的位址,p+1這裡是是不是就是a[1]的位址呢,而a[1]跟a[0]是不是差了4個;

所以編譯器會識別的,比如你int *p,p+1就是差4個位元組,如果是char *c,c+1,就是差乙個。

你的這裡i是整形的指標,+1相當於+4呢。

c語言問題關於while迴圈和指標的一些問題

3樓:匿名使用者

const char* p=str;

p型別是char *,也就是說*p的型別是char,p指向的是i am a good booy的第乙個字元。

c語言中迴圈問題

4樓:網友

在輸入時,你沒有確定『\0』在**吧。這個不存在,在遍歷的時候,停住是用『\0』,這就不對了吧。

你把i放出去,第二次就用i的大小來定義迴圈次數試試。

c語言中,指標能否作為for迴圈的控制條件

5樓:

可以的,但是你的寫法是不對的,應該寫成下面這樣:

int a[4][4];

int (*p)[4]; //指向陣列的指標,實際上就是二維陣列的行指標。

p=a;for(; p

6樓:小寶

不行,p是位址與n的型別不同,無法比較。

c語言有關指標,迴圈,陣列的問題

7樓:物理公司的

#include

#include

void isperfectnum(int a); /*當我把陣列的下標改小時,比如20,程式會出現錯誤*/

int *pi=iarr;

for(i=1;i=iarr;pi--)

sum+=*pi;

if(sum==a)

printf("%d",a);

elseprintf("\0");

int main()

c語言中, 如何控制指標位址來控制有限迴圈

8樓:匿名使用者

例子:int sum[10]=;

int *p=&sum[0];

int *q=&sum[9];

for(p;p《困枝=q;p++)

printf("%d "輪塵,*p);

也可以這樣:臘尺禪。

for(p;pprintf("%d ",p);

c語言指標for迴圈多少次啊

9樓:風若遠去何人留

當s指向尾\0的時候結束迴圈。

在s中存的元素為\ta

01 注意,這裡\01是8進位轉義表示。正常為三位,但是下一位是8,不是合法的8進位字元,所以到1結束。8b

c\0於是 執行迴圈的次數,就是\t a \01 8 b c這些元素的個數,也就是6

10樓:聽不清啊

for迴圈執行的次數是5次,輸出5個"*"。

分別對應於\ta

018bc這5個字元。

c語言的小問題,用指標使陣列中的元素迴圈列印出

11樓:網友

因為你在判斷p==(a+n)的if語句塊中,沒有加入break。

那麼程式判斷到第二次p==(a+n)後,就會執行其中的語句,然後繼續執行其後的printf的語句。

直到這個列印結束了,才到迴圈的結尾,才開始判斷t==2了,才結束迴圈。

話說你這樣的迴圈風格很不好,需要改進。

明明用兩個迴圈巢狀可以很好地解決問題,你卻要把他們揉在一起。

for (t = 0; t != 2; t++)

12樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列。

c語言中變數指標輸出問題,C語言中變數指標輸出問題

這和printf用 s的規則相關。首先ps是一個指向字元型資料的指標 printf用 s修飾輸出時需要提供一個指標,這個指標指向的資料是字元型的,但printf將按照字串的規則來進行輸出,也就是輸出完這個指標指向的字元後,自動將指標加1,並判斷指向的字元是否為0,否則將輸出直至指向的資料為0為止,或...

c語言中,指標問題,xa,xa,有什麼區別,x的值

語句形式一復 int a 10 int x a 這種寫法 表示將a的地制址儲存到x中去,這是定義指標,同時初始化操作的方法 x a 10 語句形式二 int a 10 int x 定義指標,不初始化 x a 這種寫法表示將a的地址儲存到x中去,x a 10 而此時,若寫成 x a 則程式會執行報錯 ...

c語言中,指標和陣列的區別和聯絡

區別 c語言把記憶體劃分成四個區,它把一般的變數和陣列等存在於記憶體中的棧區,所以陣列在c語言的定義中只是一組同型別的普通變數,即使這個變數有可能是指標。所以他的作用比指標小的很多,而指標可以指向任何區的任何資料,所以就會覺得指標和陣列名很像,但是必須要注意的是,陣列名只是指標中的一種,它是指標中只...