数値伝達、ポインタ(参照)の基本概念

725 ワード

一、数値伝達

void swap(int a, int b) {
    int c = a;
    a = b;
    a = c;
}

int a = 1, b = 2;
swap(a, b);  //    a,b    ,       a, b。



二、例えば文字列の指向、指向の内容:シーン1:

void persorm(char *s) {
    printf("%p
", s); } char *s = "12"; persorm(s); printf("%p
", s); : 0x100000fb0 0x100000fb0

シーン2:

void persorm(char *s) {
    s = "211";
    printf("%p
", s); } char *s = "12"; persorm(s); printf("%p
", s); : 0x100000fac 0x100000fb4

一般的なオブジェクトと文字列の差は多くなく、値とメモリ領域に分かれています.しかし、文字列があまりにもよく使われており、一部の言語が最適化されています.
三、上記はすべて伝値としてまとめることができますが、伝針は伝針の値であり、メモリアドレスに対応しています.