1、strlen()函数的实现:

#include<stdio.h>

int strLen(char *str);

int strLen(char *str){
    int i = 0;
    
    while(*str){
        str++;
        i++;
    }
    
    return i;
}

void main(void){
    char *str = "abcdefg";
    int length;
    
    length = strLen(str);
    printf("%d\n", length);
}

wKiom1dG5rfzdEF8AACN0aA7wsE976.png-wh_50

2、strcmp()函数的实现:

#include<stdio.h>

int strCmp(char *str1, char *str2);

int strCmp(char *str1, char *str2){
    while(*str1 == *str2 && *str1 && *str2){
        str1++;
        str2++;
    }
    
    return *str1 - *str2;
}

void main(void){
    char *str1 = "hello";
    char *str2 = "hell";
    
    printf("%d\n", strCmp(str1, str2));
}

wKiom1dG6EuTq_bQAACG3K97b6s046.png-wh_50

3、const的用法:

const只读。

(1)const int a = 100 <=> int const a = 100;  a空间是只读空间,a空间的值不能更改。

(2)const int *a; <=> int const *a;  *a的值不能改变,a指针变量的值可以更改。

  int* const a;  *a的值可以更改,a指针变量只读,不能改其值

  const int* const a;   *a, a 均只读空间,其值不可更改!

const离谁进,修饰谁,谁就不可更改!!!


注意:刚开始用Linux进行编程:

  (1). Linux下64位与32位的区别:

  int都是4字节的。64位下,long 8字节, 指针 8字节

  (2).Linux下注释块:#if  0(注释)  1(不注释)

           ...........  

           #endif 

  (3).gcc -c 只编译不连接  gcc   .c   -o  目标文件 编译和连接

  (4).objdump -d test(可执行文件) > x86  反汇编文件查看X86内容。

编译结果往往与平台,编译器关系很大!!!