通俗来说
  • 绝对路径:绝对,唯一,从头开始。

    ​ “辽宁省沈阳市东北大学浑南校区工业1602小明同学收”

    ​ 在中国,无论寄信的小红在哪,信都会交到小明手上;

    ​ 但在别的国家,会找不到辽宁省。

  • 相对路径:与自身相对。

    ​ “请帮忙转交给隔壁班的小明”

    ​ 如果小红转专业到了金融1601,隔壁班会找不到小明;

    ​ 但如果小明也转到了金融1602,小明就能收到信了。

  • 谁谁(驱动器)的根目录:根,最开始的地方。

    ​ 正好跟东北话“根儿”一个意思(教练:“根是啥意思?根都不知道,下车,别练了!”)

    2018-10-17-绝对路径与相对路径_雨刷器根

    ​ C盘的根目录,就是直接打开C盘看到的那一片

    2018-10-17-绝对路径与相对路径_C根目录

    另外:(软件)安装的根目录(EXE所在的地方),应该是没有这种说法的,可能有的人说顺嘴口误吧。

例子
  • C 绝对路径(因为spss不支持相对路径,且我不会spss,用C来举例)

2018-10-17-绝对路径与相对路径_spss示例数据位置

​ 按照一般人的使用习惯,可能会把示例数据放D盘或者桌面

​ 但是,有的人没有D盘,不同的人桌面路径不一样

2018-10-17-绝对路径与相对路径_没有D盘

​ 我的桌面的路径:C:\Users\liguanya118\Desktop

​ 而换一个人的电脑桌面路径:C:\Users\zhangxin\Desktop

​ 在我的电脑上正常运行的代码(假设桌面有“SPSS案例数据”文件夹及里面的”1.1”):

#include <stdio.h>
#include <stdlib.h>
 
void main( void )
{
   FILE *stream;
   char buffer[81];
   int  i, ch;
 
   /* Open file to read line from: */
   if( (stream = fopen( "C:\Users\liguanya118\Desktop\SPSS案例数据\1.1", "r" )) == NULL )
      exit( 0 );
 
   /* Read in first 80 characters and place them in "buffer": */
   ch = fgetc( stream );
   for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
   {
      buffer[i] = (char)ch;
      ch = fgetc( stream );
   }
 
   /* Add null to end string */
   buffer[i] = '\0';
   printf( "%s\n", buffer );
   fclose( stream );
}
/*--------------------- 
作者:Z-H-I 
来源:CSDN 
原文:https://blog.csdn.net/zxx910509/article/details/56275492 
版权声明:本文为博主原创文章,转载请附上博文链接!*/

​ 但即使程序和数据一起移到新电脑上,运行时也只会提示找不到liguanya118

​ 但本书取了个巧,Windows一定有C盘,且放C盘根目录,没什么乱七八糟的

if( (stream = fopen( "C:\SPSS案例数据\1.1", "r" )) == NULL )

​ (但江湖规矩,正规的没人这么做)

  • C 相对路径

    if( (stream = fopen( "SPSS案例数据\1.1", "r" )) == NULL )
    

    ​ 只要保持程序和数据的相对位置(比如放一个文件夹内,整个文件夹一起移动),就没问题

  • spss是脚本语言,不需要编译,用C举例时的“程序”对于spss来说就是代码文件本身。

严谨来说
  • 绝对路径:绝对路径也可称完整路径,是指向文件系统中某个固定位置的路径,不会因当前的工作目录而产生变化。为做到这点,它必须包括根目录。

  • 相对路径:相对路径则是以指定的工作目录作为基点,避开提供完整的绝对路径。文件名称就可以被视为以指定工作目录为基点的一个相对路径(虽然一般不将其称之为路径)。

    2018-10-17-绝对路径与相对路径_维基路径的表示法

  • 根目录:在计算机的文件系统中,根目录指文件系统的最上一级目录,它是相对子目录来说的;它如同一棵大树的“根”一般,所有的树杈以它为起点,故被命名为根目录。以微软公司开发的Windows操作系统为例:打开这台计算机(我的计算机、计算机),双击C盘就进入C盘的根目录。双击D盘就进入D盘的根目录。