1. 程式人生 > 其它 >21行滿分程式碼:1039 到底買不買 (20分)

21行滿分程式碼:1039 到底買不買 (20分)

技術標籤:C語言學習

1. 指標是什麼?

 #include<stdio.h>
/*指標是變數的地址*/
void main(){

        int num=77;
        printf("變數地址:%p\n",&num);

        int *p=&num;
        printf("指標佔用記憶體:%d\n",sizeof(p));
        printf("p = %p\n",p);   //p是變數地址,和&i一樣
        printf("*p = %d\n"
,*p); //*p是變數值,和i一樣 }

小結一下:
1.指標就是變數地址;
2.使用方法:
定義:ELemType *PointerName
取地址:PointerName = &VariableName
取值:VariableName = *PinterName
格式化輸出:%p
3.可以參見:變數作用域與傳值呼叫檢視使用地址傳遞對變數值進行修改(這個線上性順序表有很大作用)

2.指標的運算:

#include<stdio.h>
#include<stdlib.h>      //malloc 在這個庫
void main(){
        int
i[10]; char *c; c=(char *)malloc(sizeof(char)*10); double d[10]; printf("整型陣列:%p %p %p\n",i,i+1,i+2); printf("字串:%p %p %p\n",c,c+1,c+2); printf("浮點陣列:%p %p %p\n",d,d+1,d+2); }

結果:

整型陣列:0x7ffc00322fe0 0x7ffc00322fe4 0x7ffc00322fe8
字串:0x2100010
0x2100011 0x2100012 浮點陣列:0x7ffc00322f90 0x7ffc00322f98 0x7ffc00322fa0

所以對地址的運算是按照資料型別佔用空間推進的
可以通過地址運算對陣列、字串或者順序表(後面寫結構體指標)來進行操作