c語言指標怎麼指向結構陣列,c語言 指標怎麼指向乙個結構陣列?

時間 2021-07-08 21:31:47

1樓:黃邦勇帥哥哥

樓上都回答得這麼複雜嗎?我寫簡單一點的

struct str;

void main()

;//宣告乙個結構陣列並對陣列a[0]中的成員n和s分別賦值為1和2,對a[1]中的成員設定為3和4。

注:有些編譯器可能不需要最前面的struct來宣告結構物件。

struct str *p=a; //宣告乙個結構指標,並把結構陣列的位址賦給該指標

printf("%d",p->n); //訪問結構陣列物件a[0]中的變數n的值,也就是1

printf("%d",(p+1)>n); //訪問結構陣列物件a[1]中的變數n的值,也就是3。因為指標p+1就指向了結構數結a的下乙個位置,也就是a[1]處。}

2樓:匿名使用者

main()

str_xx;//自定義乙個結構體

str_xx test_str;//按照自定義的乙個結構體定義乙個結構體

str_xx *test_prt;//按照自定義的乙個結構體定義乙個指標0

test_prt = test_str;//把這個指標指向這個結構體test_prt->n = 0;//給結構體變數賦值test_prt->s = 0;//給結構體變數賦值printf("test_prt->n = %d test_ptr->s = %d\n",test_prt->n,test_prt->s);}

3樓:滄桑江流

跟其他型別指標一樣,定義乙個結構體指標即可,例如:

struct name *p;//name結構體需要在這之前定義

這樣指標p就是指向name結構的結構體指標。

4樓:匿名使用者

int ilen = 5;

str* pstr = new str[ilen];

str* pnext = pstr;

for (int i = 0; i < ilen; ++i)pnext = pstr;

for ()

c語言程式設計指向結構體陣列的指標

5樓:匿名使用者

1、結構體指標其實是乙個指標,它儲存的是指向某個結構體的「位址」,所以結構體指標陣列儲存的其實是指向一組結構體的「位址」陣列,它本身並不包含結構體的具體內容(沒有被分配記憶體)

2、所以當用到他們時,要麼重定向,比如:

d=&b; //讓d指向b,d儲存的是b的位址,這樣就能通過d來呼叫b了

要麼用malloc為他們分配記憶體:

d=(struct h *)malloc(sizeof(struct h));

這樣d就指向系統為其分配的一塊記憶體,其內容就是struct h中的東西

6樓:匿名使用者

下面的程式是我以前寫的,你稍微改改就能符合你的要求了#include

#include

typedef struct st

student;

void swap(student *a, student *b)void sort(student *array, int n)}if (flag)

break;}}

void print(student *array, int n)}int main()

print(stu, number);

sort(stu, number);

print(stu, number);

free(stu);

return 0;}

c語言怎麼定義「乙個字元指標指向乙個二維字元陣列」的首位址?

7樓:

二維陣列也抄是「陣列的陣列」所以定義乙個指向由m個元素組成的一維陣列指標即可指向二維陣列的首元素位址。

如:char arr[2][2] = , };

char (*p)[2];

p=arr; // p指向首元素位址。

char c = *(p[0]+ 1);// 指向0行1列 即字元b

C語言指向多維陣列的指標問題

a a 0 a 0 0 a 0 1 a 0 2 a 1 a 1 0 a 1 1 a 1 2 a 2 a 2 0 a 2 1 a 2 2 二維陣列首位址 就是二維常量指標 a可以看成是 一維指標陣列a 3 的首位址即 a的值是 a 0 a 0 的值是 a 0 0 的位址a 1的值是 a 1 a 1 的...

c語言結構體中的陣列怎麼賦值,C語言,結構體中的陣列怎麼賦值,?

念憶 intmain void printf d,s n bao.id,bao.name 輸出是4224528,空 應該是null structstudentsbao 可以。第一種賦值方法 strcpy bao.name,bao 可以,printf d,s n bao.id,bao.name bao...

c語言中指標變數指向陣列怎樣使其移回第一位

王天旻 include main int p p a printf d p 1 最原始的方法,p加幾就只向哪一位。不加就指向0位 移回第一位的問題我也碰到過,可以這樣 int q q p 然後對p操作,最後 p q 移回來把指標當引數時常有。 長巷煙雨 說錯了,陣列名是常量指標 而不是指標常量。樓主...