C++小知识点--基础

发布时间 2023-11-23 16:25:54作者: XWT7467
  • 指针遍历数组方法:

1、for(int j=0;j<strlen(substr);j++){

  ......//char substr[100] = {0};

  cout<<*(substr+j)<<endl;

}

2、for( j =0; *(substr+j)!='\0' ;++j){

  ......

}

  • 区分strlen()函数和length()、size()等函数:

 1、size_t  strlen( const char*  str)

  strlen() 函数计算的是字符串的实际长度,遇到第一个‘\0’结束;参数指向的字符串必须以 ‘ \0 ’结束;函数返回值一定是size_t ,是无符号的;如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止;sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数;

  通常char类型的数组长度可以用strlen函数;
  char substr[100] = {0};

  cin.getline(str, sizeof(substr));  

  for(int j=0;j<strlen(substr);j++){

  cout<<*(substr+j)<<endl;

}

2、length()、size()等函数

  size()和length():返回string对象的字符个数,他们执行效果相同。  

  由于c中没有string类型,在c++中有string类型,所有如果是字符串类型,直接用string.lenhth()就行。