C语言小程序

1 scanf、printf是stdio.h头文件中定义的两个函数。

#include "stdio.h";
#include "stdlib.h";

void main(void){
    char nick[10]; // 字符数组
    int year;
    scanf("%s %d",&nick,&year); // &取地址
    printf("Hello %s %d\n\r",nick,year); 
}

 

 

2  指针的值是内存单元的地址(数值)。

  int *p定义了一个指向整形变量的指针, char *p定义了一个指向字符型变量的指针。

    &是取地址,*是取值。

 

#include "stdio.h";
#include "stdlib.h";

void main(void){

    int a = 123,*p = &a;
    char c = 'c',*pp = &c;

    printf("%p\n\r",p); // 打印十六进制的地址
    printf("%d\n\r",*p); // 打印指针对应的变量

    printf("%p\n\r",pp); // 打印十六进制的地址
    printf("%c\n\r",*pp); // 打印指针对应的变量

}

 

 

3 指针可以常量,也可以是变量。

 数组名是指针常量,不能修改。

   指针变量可以修改,例如可以进行++或--运算,指向后一个或前一个变量。

 

 

#include <stdio.h>;
#include <stdlib.h>;

void main(void){
    // 数组名是指针常量,不能修改
    char man[] = "Jack Doson";
    printf("%s",man);
    // 定义指针变量,可以修改
    char letter = 'a';
    char *c = &letter; // 指向字符型变量
    printf("%c\n\r",letter);
    printf("%c\n\r",*c);
    char *str = "Leo"; // 指向字符数组的第一个成员
    printf("%c\n\r",*str);
    str++;
    printf("%c\n\r",*str);
}

 

 

 

4 指针可以指向字符串常量,也可以指向字符数组。

 

 

#include <stdio.h>;
#include <stdlib.h>;

void main(void){
    char *dog = "dog"; // 指针变量指向一个字符串常量
    // *dog = 'l'; // 报错
    char c[] = "dog"; // 指针常量指向一个字符串数组
    printf("%s\n\r",c);
    *c = 'l';
    printf("%s\n\r",c);
}

 

 

 

  

 

posted on 2018-04-10 21:00  沙滩海风  阅读(602)  评论(0编辑  收藏  举报

导航